反转链表
点击这里查看原题
思路
其实整体思路很简单,用一个now变量记录当前遍历的节点,用一个prev变量记录当前节点的上一个节点,再用一个next变量记录now变量的下一个节点,就可以这样操作了:next节点先保存着now节点的下一个节点,然后把now节点的next指向prev达到反向的目的,最后把next赋值给now即可。
代码
public ListNode reverseList(ListNode head) {
ListNode prev = null,now = head;
while(now!=null){
ListNode next = now.next;
now.next = prev;
prev = now;
now = next;
}
return prev;
}
最后
虽然是简单题,但是好像挺常考的,要注意一下。