其他分享
首页 > 其他分享> > 【学透链表-反转链表】

【学透链表-反转链表】

作者:互联网

示例:

在这里插入图片描述
思路:
  利用两个指针,第一个指针叫 pre,最初是指向 null。
  第二个指针 cur 指向 head,然后不断遍历 cur。
  每次迭代到 cur,都将 cur 的 next 指向 pre,然后 pre 和 cur 后移一位。
  都迭代完了(cur 变成 null 了),pre 就是最后一个节点了。

代码实现:

class Solution {
    public ListNode reverseList(ListNode head) {
        if(head == null){
            return null;
        }
		//定义节点,pre和 cur,pre指向null
        ListNode pre = null;
        ListNode cur = head;
        while(cur != null){
			//记录当前节点的下一个节点,用于后移
            ListNode next = cur.next;
			//然后将当前节点指向pre
            cur.next = pre;
			//pre和cur节点都后移一位
            pre = cur;
            cur = next;
        }
        return pre;
    }
}

标签:pre,ListNode,cur,反转,next,链表,null,节点,学透
来源: https://blog.csdn.net/qq_46041678/article/details/122493156