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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
CoderIsArt9 分钟前
常用SCSI数据结构的详细注释和用法
数据结构
福楠12 分钟前
C++ STL | list
c语言·开发语言·数据结构·c++·算法·list
红豆诗人39 分钟前
算法和数据结构--时间复杂度和空间复杂度
数据结构·算法
黎雁·泠崖44 分钟前
栈与队列之栈入门攻略:从核心概念到数组实现
c语言·数据结构
郝学胜-神的一滴1 小时前
Linux线程使用注意事项:骈文技术指南
linux·服务器·开发语言·数据结构·c++·程序人生
星火开发设计1 小时前
折半插入排序原理与C++实现详解
java·数据结构·c++·学习·算法·排序算法·知识
福楠1 小时前
模拟实现list容器
c语言·开发语言·数据结构·c++·list
海天一色y1 小时前
python--数据结构--链表
数据结构·链表
三川6981 小时前
数据结构设计高频题目
数据结构·哈希算法·散列表
yangpipi-2 小时前
《C++并发编程实战》第6章 设计基于锁的并发数据结构
开发语言·数据结构·c++