题目描述
输入一个链表,反转链表后,输出新链表的表头。
解题思路
多再纸上画画 看看
给定链表:1->2->3->4->5
思考的时候 一定要从第二次反转开始,第一次反转时候 pre = node;很容易错用pre和node
即 从 2->1->3->4->5的时候思考 ,此时 node->2 pre->1 cur->3
(字丑勿怪)

题解
public ListNode ReverseList(ListNode node){
if (node == null ) return null;
ListNode pre = node;
ListNode cur = node.next;
while (cur != null){
pre.next = cur.next;
cur.next = node;
node = cur;
cur = pre.next;
}
return node;
}
网友评论