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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
菜鸟233号1 天前
力扣669 修剪二叉搜索树 java实现
java·数据结构·算法·leetcode
SadSunset1 天前
力扣题目142. 环形链表 II的解法分享,附图解
算法·leetcode·链表
jingfeng5141 天前
哈希表的概念+实现
数据结构·哈希算法·散列表
ホロHoro1 天前
数据结构非线性部分(1)
java·数据结构·算法
沉下去,苦磨练!1 天前
实现二维数组反转
java·数据结构·算法
玖剹1 天前
哈希表相关题目
数据结构·c++·算法·leetcode·哈希算法·散列表
红豆诗人1 天前
数据结构初阶知识--单链表
c语言·数据结构
L_09071 天前
【C++】高阶数据结构 -- 二叉搜索树(BST)
数据结构·c++
仰泳的熊猫1 天前
1150 Travelling Salesman Problem
数据结构·c++·算法·pat考试
lixzest1 天前
C++中经常用的头文件介绍
数据结构·c++·算法