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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
代码改善世界5 小时前
【数据结构与算法】栈和队列题解
数据结构
ShineWinsu5 小时前
对于C++:继承的解析—上
开发语言·数据结构·c++·算法·面试·笔试·继承
浅念-10 小时前
C++ 模板进阶
开发语言·数据结构·c++·经验分享·笔记·学习·模版
We་ct10 小时前
LeetCode 222. 完全二叉树的节点个数:两种解法详解(BFS + 二分查找优化)
数据结构·算法·leetcode·typescript
无限进步_12 小时前
21. 合并两个有序链表 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
wengqidaifeng13 小时前
数据结构与算法经典OJ题目详解(C语言):从数组到链表的进阶之路(上)
c语言·数据结构·链表
blackicexs13 小时前
第六周第一天
数据结构·算法
We་ct14 小时前
LeetCode 236. 二叉树的最近公共祖先:两种解法详解(递归+迭代)
前端·数据结构·算法·leetcode·typescript
历程里程碑15 小时前
普通数组---合并区间
java·大数据·数据结构·算法·leetcode·elasticsearch·搜索引擎
无忧.芙桃15 小时前
AVL树的实现
数据结构·c++