当前位置: 首页> 文旅> 艺术 > Leetcode Java学习记录——代码随想录链表篇

Leetcode Java学习记录——代码随想录链表篇

时间:2025/7/12 4:53:13来源:https://blog.csdn.net/weixin_47227105/article/details/139768445 浏览次数:0次

文章目录

  • 链表定义
  • 移除链表的倒数第n个结点
  • 判断[列表是否有环](https://leetcode.cn/problems/linked-list-cycle-ii/description/)
  • 报错
    • java.lang.StackOverflowError
    • 空指针异常

链表定义

public class ListNode{int val;ListNode next;//三种构造函数public ListNode(){}public ListNode(int val){this.val = val;}public ListNode(int val,ListNode next){this.val = val;this.next = next;}}

移除链表的倒数第n个结点

双指针的典型应用。力扣19题

class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {//新建虚拟头节点ListNode dummyNode = new ListNode(0,head);//快慢指针指向虚拟头节点ListNode fast = dummyNode;ListNode slow = dummyNode;//令快慢指针相差n个节点for(int i = 0;i<=n ; i ++){fast = fast.next;}// 移动到应该删除的位置while(fast != null){fast = fast.next;slow = slow.next;}// 删除,排除空指针异常if (slow.next != null){slow.next = slow.next.next;}return dummyNode.next;}
}

判断列表是否有环

同样是双指针的应用。

报错

java.lang.StackOverflowError

栈溢出通常是无限递归导致的。

空指针异常

//初始化的定义一定要=null,否则会空指针异常。ListNode pre = null;
关键字:Leetcode Java学习记录——代码随想录链表篇

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: