摘要: 删除链表元素我们很熟了,但需要确保head如果去除的话该如何返回的问题。 public ListNode removeElements(ListNode head, int val) { ListNode res = new ListNode(0); res.next=head; ListNode 阅读全文
posted @ 2021-04-21 11:26 jchen104 阅读(31) 评论(0) 推荐(0)
摘要: 迭代链表中的每个节点,依次递推 public ListNode deleteDuplicates(ListNode head) { ListNode curr=head; while(curr!=null && curr.next!=null){ // 如前后2个节点相同,则丢弃next节点,将当前 阅读全文
posted @ 2021-04-21 11:16 jchen104 阅读(42) 评论(0) 推荐(0)
摘要: 对于这题,参数只有需要被删除的这个元素。 这里我们以 4,5,1,9为例,我们要删除1,我们可以将9覆盖1的val,同时将1的next指向9的next, 这样就相当于我们用后一节点的值覆盖当前节点,然后丢下后续节点,直接指向next.next节点。 public void deleteNode(Li 阅读全文
posted @ 2021-04-21 11:03 jchen104 阅读(40) 评论(0) 推荐(0)
摘要: 方法一:使用set来存储2个数组的元素 时间O(m+n),空间O(m+n) public int[] intersection(int[] nums1, int[] nums2) { if (nums1==null || nums2==null || nums1.length==0 || nums2 阅读全文
posted @ 2021-04-21 10:48 jchen104 阅读(57) 评论(0) 推荐(0)
摘要: 原谅我是个数学渣渣,幸好有甜姨的解析,结论就是迭代所得的数字必然是收敛的 由此便得到了2种可能情况 (1) 收敛为1 (2) 迭代结果出现环,无法收敛 看到这两个图其实我们就想到了之前做的题目,判断链表是否存在环,用的办法是佛洛依德算法,快慢指针判断, 于是我们这里也可以用快慢指针来实现 class 阅读全文
posted @ 2021-04-21 10:16 jchen104 阅读(48) 评论(0) 推荐(0)