摘要:
Question:https://oj.leetcode.com/problems/binary-search-tree-iterator/其实就是pre-order traversal。因为每个node都只被push,pop一次,所以总的time就是O(n),对于next()来说就是O(n)/n ... 阅读全文
摘要:
Question:https://oj.leetcode.com/problems/insertion-sort-list/解答:了解insertion sort的原理。对于前面已经排好的array, 插入新的node到相应的位置。对于array可以从排好序的array从后往前比较,如果比当前值大,... 阅读全文
摘要:
Question:https://oj.leetcode.com/problems/sort-list/解答:排序基本上就是heapsort, mergesort和quicksort。因为是linked list而且不能用额外的空间,所以用mergesort,因为merge sort的合并可以in ... 阅读全文
摘要:
Question:https://oj.leetcode.com/problems/copy-list-with-random-pointer/解答:最初的想法是把指针转换成int,然后把Random表也变成vector, vector里的值表示第i个指针的random指向哪里。/** * Defi... 阅读全文
摘要:
Question:https://oj.leetcode.com/problems/word-break-ii/解答:跟Word Break类似,只不过把bool变量变成vector,保存所有能够跟当前点形成一个有效word的点,并且那个点本身的vector不为空(等同于bool flag = tr... 阅读全文
摘要:
Question:https://oj.leetcode.com/problems/sqrtx/解答:1)二分法。取中点,如果当前点平方大于x,前半段继续二分。否则后半段继续二分。需要注意的是求的值是平方最接近但是小于,或者等于x。所以中点如果小于x,后半段需要包括这个中点。这就需要中点能够大于开始... 阅读全文