LeetCode206-反转链表

题目

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

代码

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }im 
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode cur = head;
        ListNode pre = null;
        while(cur != null) {
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        return pre;
    }
}

结论

  • 虚拟出一个pre节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
小张成长计划..15 小时前
【C++】List容器的理解和使用(超详细)
数据结构·list
尼古拉斯·纯情暖男·天真·阿玮18 小时前
泛型与数据结构
java·数据结构
wefg118 小时前
【数据结构】unordered 系列容器底层结构和封装
数据结构·算法·哈希算法
遗憾是什么.18 小时前
数据结构 - - 队列
数据结构
DARLING Zero two♡18 小时前
【优选算法】LinkedList-Concatenate:链表的算法之契
数据结构·c++·算法·链表
大袁同学19 小时前
【二叉搜索树】:程序的“决策树”,排序数据的基石
数据结构·c++·算法·决策树·stl
Algo-hx20 小时前
数据结构入门 (十):“左小右大”的秩序 —— 深入二叉搜索树
数据结构·算法
Ace_317508877621 小时前
京东商品详情接口深度解析:从反爬绕过到数据结构化重构
数据结构·python·重构
旭意1 天前
数据结构顺序表
数据结构·c++·蓝桥杯