6.28 - medium总结2

18. 4Sum: 这题思路简单,做起来还挺麻烦的,先把每一对的hash算出来,然后在loop hash key的时候加了一堆限制条件
19. Remove Nth Node From End of List: 送分题,two n distance pointer。
22. Generate Parentheses: backtracking的题目,记录当前的"("的个数,个数小于n的时候才能进入加"("的循环,如果 2*个数 > 当前len的话,才能进入加")"的循环。
24. Swap Nodes in Pairs: 这题用iterative的方式做的话,就记录一个prev和cur,如果是递归的方式做的话,就是转换当前的两个,并且把转化完的node.next = self.swap(new_head)就可以了,也比较好想。
29. Divide Two Integers: 因为乘除法都不能用,就用减法,然后用二分查找来找到divisor的倍数
31. Next Permutation: 这题是有规律性的, 从后往前找到第一个下降的值X, 从后往前找到第一个大于X的值,并且swap, 然后swap X+1。。。end
33. Search in Rotated Sorted Array: 左边搜一下,右边搜一下的情况,画个图就比较简单易懂了。
36. Valid Sudoku: 做过这题的升级版,一道hard的题目,这道就pass了
39. Combination Sum: backtracking的题目,注意一下进入下层后所要循环的数就可以了。

你可能感兴趣的:(6.28 - medium总结2)