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节点很关键
  • 注意停止条件
  • 注意交换引用的逻辑
相关推荐
Nuanyt12 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
老师我太想进步了20261 天前
【数据结构-3】算法美学之降复杂度
数据结构·算法
w_zero_one2 天前
算法--构造
java·数据结构·算法
lisw052 天前
互联网上的数据结构可视化!
数据结构·信息可视化
老师我太想进步了20262 天前
【数据结构-1】例解算法复杂度
数据结构·算法
YSL0701242 天前
一文通关-----排序
数据结构·算法
夜不会漫长3 天前
C++:红黑树
数据结构·算法
冻柠檬飞冰走茶3 天前
PTA刷题集之Airline Routes(C语言实现)
c语言·开发语言·数据结构·算法
736c3 天前
固件开发岗算法
数据结构·算法
冻柠檬飞冰走茶3 天前
PTA刷题集之Battle Over Cities - Hard Version(C语言实现)
c语言·开发语言·数据结构·算法