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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
快去睡觉~3 小时前
力扣238:除自身之外数组的乘积
数据结构·算法·leetcode
Aczone283 小时前
数据结构(五):顺序循环队列与哈希表
数据结构·哈希算法·散列表
yics.3 小时前
数据结构——栈和队列
java·数据结构
岁忧4 小时前
(LeetCode 面试经典 150 题) 82. 删除排序链表中的重复元素 II (链表)
java·c++·leetcode·链表·面试·go
秋难降5 小时前
【数据结构与算法】———回溯之美
数据结构·算法
ikkkkkkkl5 小时前
LeetCode:347.前K个高频元素
数据结构·c++·算法·leetcode
_祝你今天愉快5 小时前
SparseArray & ArrayMap
android·数据结构
筱砚.5 小时前
【数据结构——并查集】
数据结构·算法
发发发发8886 小时前
leetcode 674.最长连续递增序列
java·数据结构·算法·leetcode·动态规划·最长连续递增序列
先做个垃圾出来………7 小时前
[链表]两两交换链表中的节点
数据结构·链表