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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
666HZ6666 小时前
数据结构2.0 线性表
c语言·数据结构·算法
余瑜鱼鱼鱼7 小时前
Java数据结构:从入门到精通(十二)
数据结构
一叶知秋0611 小时前
数据结构-什么是队列?
数据结构·队列
Jasmine_llq11 小时前
《CF280C Game on Tree》
数据结构·算法·邻接表·深度优先搜索(dfs)·树的遍历 + 线性累加统计
zhongvv11 小时前
对单片机C语言指针的一些理解
c语言·数据结构·单片机·指针·汇编语言
im_AMBER12 小时前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
Xの哲學12 小时前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法
C雨后彩虹13 小时前
竖直四子棋
java·数据结构·算法·华为·面试
荒诞硬汉14 小时前
对象数组.
java·数据结构
散峰而望14 小时前
【算法竞赛】栈和 stack
开发语言·数据结构·c++·算法·leetcode·github·推荐算法