6.20 - easy总结1

1. Two Sum: two pointer来解决
7. Reverse Integer: 通过反转str来做,注意符号和边界条件最大值2**31-1
9. Palindrome Number: 算出位数n个10,然后比较x/10**n 和x/10
13. Roman to Integer: 找出所有的特殊字符比如说CM,然后先看两个字符是否是特殊字符,然后再比较单个字符
14. Longest Common Prefix: 简单的loop就可以
20. Valid Parentheses: stack来做,最基本的stack应用
21. Merge Two Sorted Lists: 多加一个dummyhead来做
26. Remove Duplicates from Sorted Array: 这属于双指针问题,重要的是维护一个tail,不停的复制值到tail,并且增加tail
27. Remove Element: 和上一题一样,也是维护一个tail就可以了
28. Implement strStr(): 对比source中的每一个char和target[0],如果相同则进入下一层循环。
35. Search Insert Position: 最普通的二分查找法,要点是start+1 38. Count and Say:先维护一个number,然后一步一步更新这个number,每一次都要重新计算新生成的number
53. Maximum Subarray: 维护prefixsum中的最小值,然后用当前的prefixsum减去最小值来获得以当前点结束的最大subarray sum的值,也可以用divide and conquer来做,分成包含mid,左边不含mid,右边不含mid三种情况
58. Length of Last Word: 没什么意义的一道题
66. Plus One: 另一道不太有意义的题目
67. Add Binary: 只要维护一个carry
69. Sqrt(x): 二分查找法
70. Climbing Stairs: 基础的DP题,DP题有两种考虑方法,一种是从开头考虑依次增加,另一种是从尾巴考虑,第二种方法还不是太会
83. Remove Duplicates from Sorted List: 用dummy node记录前一个值
88. Merge Sorted Array: 从尾向头依次比较

你可能感兴趣的:(6.20 - easy总结1)