面试题24. 反转链表
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
package 链表; public class Solution2 { public static ListNode reverseList(ListNode head) { ListNode newHead=null,node; while (head!=null){ //记录当前的 node = head; //删除 head = head.next; //对新的链表做头插法 node.next = newHead; newHead=node; } return newHead; } public static void main(String[] args) { ListNode l1 = new ListNode(1); ListNode l2 = new ListNode(3); ListNode l3 = new ListNode(2); l1.next=l2; l2.next=l3; ListNode listNode = reverseList(l1); while (listNode!=null){ System.out.println(listNode.val); listNode=listNode.next; } } }