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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
专注仿真1 小时前
RabbitMQ消息队列实战项目
数据结构·rabbitmq
血小板要健康1 小时前
队列 + 宽搜(BFS):二叉树层序遍历 算法总结
java·数据结构·笔记·算法·leetcode·宽度优先
Felven2 小时前
B. Deja Vu
数据结构·算法
不会就选b3 小时前
算法日常・每日刷题--<贪心>3
数据结构·算法·leetcode
ysu_03143 小时前
03-双链表与循环链表
c语言·数据结构·链表
wabs6664 小时前
关于二叉树【力扣107.二叉树的层序遍历II的思考】
数据结构·c++·算法·leetcode·二叉树·层序遍历
小七在进步5 小时前
数据结构:非比较排序:计数排序
数据结构
一木 之林5 小时前
四、STL 容器与数据结构(进阶)(二)
数据结构·c++·哈希算法
ysu_03145 小时前
02-单链表完全指南
c语言·数据结构·算法·leetcode
ltqshs5 小时前
C语言-链表例程
c语言·开发语言·链表