![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
tang17780603904
这个作者很懒,什么都没留下…
展开
-
leetcode160. Intersection of Two Linked Lists
本道题找到两条链表相交部分的第一个节点,如果没有则返回null。 我的思路是,如果两条链表相交,则从它们第一个相同的节点开始后面的部分均相同。那么就找到一个size = min(size1,size2),两条链表在这个size范围内依次迭代直到找到第一个相同的节点为止。 public ListNode getIntersectionNode(ListNode headA, ListNode head原创 2017-08-16 19:09:45 · 178 阅读 · 0 评论 -
Leetcode206. Reverse Linked List总结
这道题是逆转单向链表 最开始的时候一直想用迭代法做但是定义了三个变量就提示我Memory limit也不知道是怎么回事。 这道题用迭代法做的话关键在于定义一个prev变量记录下一次循环需要指向的指针;而递归的关键在于创建一个节点指向最后一个节点。 迭代:public ListNode reverseList(ListNode head) { if (head ==原创 2017-08-17 00:11:38 · 201 阅读 · 0 评论 -
leetcode23. Merge k Sorted Lists总结
哈哈哈哈, 今天第一次解出了leetcode中的困难题型, 心里有点小激动(>_<), 证明我刷了一个月的leetcode还是有进步滴, 标志着我向一名合格的程序猿迈出了重要的一步。 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 这道原创 2017-08-25 22:57:18 · 181 阅读 · 0 评论 -
leetcode83.Remove Duplicates from Sorted Lists
这个题要求删除已排好序的链表中的重复项, 例如1->1->2->3->3删除之后就是1->2->3。 思路是令p指向当前节点每次循环找到一个q.next.val != q.val, 然后令p.next = q.next 就可以实现删除p.val对应的重复项了。 public ListNode deleteDuplicates(ListNode head) { if (hea原创 2017-08-15 23:44:59 · 207 阅读 · 0 评论 -
leetcode141. Linked List Cycle
这道题是判断链表中是否存在循环。因为题目中并没有要求不能修改原链表,就可以在循环过程中使当前节点指向某一个固定的节点,如果存在循环的话就会最终循环到该固定节点; 否则循环至Null。我指定的固定节点为headpublic boolean hasCycle(ListNode head) { if (head == null) return false;原创 2017-08-16 00:19:25 · 193 阅读 · 0 评论