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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
risc12345623 分钟前
序列化框架
数据结构
MIngYaaa52043 分钟前
2026暑期牛客多校1 2026-7-17
数据结构·算法
wabs66643 分钟前
关于图论【卡码网107.寻找存在的路线的思考】
数据结构·算法·图论
冻柠檬飞冰走茶2 小时前
PTA基础编程题目集 7-34 通讯录的录入与显示(C语言实现)
c语言·开发语言·数据结构·算法
白白白小纯13 小时前
算法篇—反转链表
c语言·数据结构·算法·leetcode
雨雨雨雨雨别下啦14 小时前
C语言练习——数据结构
c语言·开发语言·数据结构·算法
阿米亚波17 小时前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl
三克的油18 小时前
数据结构-4
数据结构
05664620 小时前
Python康复训练——数据结构
数据结构·windows·python
冻柠檬飞冰走茶21 小时前
PTA基础编程题目集 7-27 冒泡法排序(C语言实现)
c语言·开发语言·数据结构·算法