leetcode206 链表反转

tech2023-06-29  103

链表反转:有无头节点其实方法都一样,需要两个指针一个指针指向当前节点的前一个节点 用于反向 另外一个指针用于指向当前节点,然后依次向后遍历,需要注意的是当前指针的next节点会指向前一个节点 破坏原有的关系,因此需要一个临时的指针来保存next节点的值

/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode reverseList(ListNode head) { ListNode prev = null; ListNode curr = head; while(curr != null){ ListNode nexttemp = curr.next; curr.next = prev; prev = curr; curr = nexttemp; } return prev; } }

最新回复(0)