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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
福楠7 小时前
C++ STL | map、multimap
c语言·开发语言·数据结构·c++·算法
Sarvartha7 小时前
二分查找学习笔记
数据结构·c++·算法
谦宸、墨白9 小时前
从零开始学C++:二叉树进阶
开发语言·数据结构·c++
闲人不梦卿10 小时前
数组和矩阵以及广义表
数据结构
苦藤新鸡11 小时前
41.有序数组(二叉搜索树)转平衡二叉树
数据结构·力扣
毅炼13 小时前
hot100打卡——day14
java·数据结构·算法·leetcode·ai·深度优先·哈希算法
DLGXY13 小时前
数据结构——双向循环链表的建立、添加、遍历(十三)
数据结构·链表
C雨后彩虹13 小时前
优雅子数组
java·数据结构·算法·华为·面试
漫随流水13 小时前
leetcode回溯算法(46.全排列)
数据结构·算法·leetcode·回溯算法
老鼠只爱大米13 小时前
LeetCode经典算法面试题 #148:排序链表(插入、归并、快速等五种实现方案解析)
算法·leetcode·链表·插入排序·归并排序·快速排序·链表排序