
leetcode题目
PnJg?
这个作者很懒,什么都没留下…
展开
-
leetcode题142:环形链表Ⅱ
题目描述: 这一部分在链表那篇讲环的部分也有讲到具体的数学特点和做法,直接上coding: public class Solution { public ListNode detectCycle(ListNode head) { if (head == null || head.next == null || head.next.next==null){ return null; } if (head.next==h.原创 2021-10-29 21:34:18 · 105 阅读 · 0 评论 -
leetcode题21:合并两条有序链表
这题属于简单题,题目也确实比较简单,这题直接用暴力解法是可以的,并不需要太多复杂的技巧。我在做的时候想的比较久的是base case的写法,不知道怎么使代码变得简洁,会担心漏掉情况,所以整体代码比较冗余,下面是我得代码: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNo..原创 2021-10-26 20:39:26 · 81 阅读 · 0 评论 -
leetcode题141:环形链表
题目描述: 解题思路: 这个题目在左神算法课上初级班讲解链表的课上就有讲如何判断一个链表是否有环,我自己总结的笔记在:https://blog.youkuaiyun.com/PnJgHT/article/details/120958609 笔记中有两种方法:一种是用哈希表,这个方法就是逻辑比较简单,把每个节点依次放进表中,如果有返回已存在的节点就是有环;但是因为题目的进阶要求是用O(1)的内存解决问题,所以就用到第二种方法:快慢指针。关于有环链表的数学特点在笔记中都有总结。下面是我得代码: .原创 2021-10-27 21:17:39 · 1405 阅读 · 0 评论 -
leetcode19题:删除倒数第n个节点
我一开始的做法是想着暴力解题,但是看到了题目的进阶要求说能不能就遍历一次链表,我就放弃了这种做法;其次的想法是放入一个数组,然后再根据数组的序号进行删除操作,但是这样感觉把问题复杂化了 接着想到看了最近左神的算法课讲到的链表部分,做法一般分为两种:快慢指针和额外的辅助数据结构。所以我用了第二种方法:有序表。 思路就是如果有序表的key是基本类型,那么能够按照Key大小的顺序值进行排列,并能获取最大的key值对应value的功能。将链表的节点的序号作为key,节点本身作为value加入有...原创 2021-10-17 11:13:46 · 117 阅读 · 0 评论