摘要:
题解 基于 Reverse Linked List 的同样思路,稍加修改,即可。但代码不够简洁,看上去过程也有些冗余。 class Solution { public: ListNode* reverseBetween(ListNode* head, int m, int n) { ListNode 阅读全文
posted @ 2020-09-09 04:09
CasperWin
阅读(115)
评论(0)
推荐(0)
摘要:
题解 很基础的题,与reverseDoublyLinkedList(Hackerrank)那道题作对照,实际上只有一样代码的差别。 class Solution { public: ListNode* reverseList(ListNode* head) { if(!head || !head-> 阅读全文
posted @ 2020-09-09 03:21
CasperWin
阅读(147)
评论(0)
推荐(0)
摘要:
题解 与Leetcode上翻转链表(206. Reverse Linked List)思路一致,只不过多了一个“prev”前节点的处理,这种题通过画图比较容易验证。 DoublyLinkedListNode* reverse(DoublyLinkedListNode* head) { if(!hea 阅读全文
posted @ 2020-09-09 03:17
CasperWin
阅读(136)
评论(0)
推荐(0)
摘要:
题解 很简单的题,要注意检查空节点。 DoublyLinkedListNode* sortedInsert(DoublyLinkedListNode* head, int data) { if(!head) { head = new DoublyLinkedListNode(data); retur 阅读全文
posted @ 2020-09-09 02:26
CasperWin
阅读(149)
评论(0)
推荐(0)
摘要:
题解 方法一:龟兔赛跑 最先想到的方法,姑且叫它“龟兔赛跑”:先计算两条LinkedList的长度,然后让长的那条先走,直到剩下的节点数一样,相当于回到同一起跑线。接下来,以同样的步调向后遍历并比较节点。代码写起来不是很简洁,但是并不影响复杂度,能通过。 class Solution { publi 阅读全文
posted @ 2020-09-09 02:11
CasperWin
阅读(145)
评论(0)
推荐(0)

浙公网安备 33010602011771号