剑指offer-15-反转链表

it2022-05-05  149

反转链表

题目:输入一个链表,反转链表后,输出新链表的表头。思路:使用两个辅助节点(pre与next),pre最初为null,使用next记录head的下一个节点,head.next指向pre,pre和head后移一步。边界:当head==null是结束循环,返回的为pre /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode ReverseList(ListNode head) { if(head==null||head.next==null){ return head; } ListNode pre = null; ListNode next = null; while(head!=null){ next = head.next; head.next = pre; pre = head; head = next; } return pre; } }

最新回复(0)