1.Two Sum 返回所有dinstinct pairs
8.String to Integer (atoi)
15.3Sum
16.3Sum Closest 返回的是那些数字
20.Valid Parentheses
21.Merge Two Sorted Lists
26.Remove Duplicates from Sorted Array
28.Implement strStr()
56.Merge Intervals
67.Add Binary
75.Sort Colors
94.Binary Tree Inorder Traversal
110.Balanced Binary Tree
133.Clone Graph
146.LRU Cache 简化版,可以用linkedlist
151.Reverse Words in a String
186.Reverse Words in a String II
189.Rotate Array
206.Reverse Linked List
200.Number of Islands
208.Implement Trie (Prefix Tree)
210.Course Schedule II 给你一串字符串"ac","ba"等等这样,找出来是否有一定的规律,比如a一定在c前面,b一定在a前面这样。
226.Invert Binary Tree
230.Kth Smallest Element in a BST
235.Lowest Common Ancestor of a Binary Search Tree
236.Lowest Common Ancestor of a Binary Tree
277.Find the Celebrity
278.First Bad Version
297.Serialize and Deserialize Binary Tree
348.Design Tic-Tac-Toe
387.First Unique Character in a String
450.Delete Node in a BST 删除树中所有比target小的节点
其他:
树的遍历
Combinations
1.给一个list,全部是整数,然后让删除重复的,输出剩下的, 要维持order。example:input:3->1->2->1->3 output:3->1->2。我一开始给了一个O(n)的解法,就是遍历list一遍,然后用hashmap来记录点,重复就删除,但是小哥说能不能不要用其他data structure,然后我就说那就暴力解,O(n^2),之后还想尝试有没有更好的解法,但是没想出来,就问能不能给点hint,然后他说那不维持order,能不能更优的解法,我说那就sort这个list,然后删除重复的,然后就move on了,没继续问。 2.给一个文件,文件包含了一大堆username,给这堆username排序,但是constrain是memory space有限,我就说把所有data分group,每个group内部先排序,再merge所有group,然后问时间复杂度多少,我说O(nlogn)
第一题是找linked list中间的数,偶数个node的话就返回中间两个数的平均值。
N个数的sorted array,找出现次数大于N/4数,多个数出现次数大于N/4的话只返回一个就行了,无论哪一个。我做的是先找出位于N/4,N/2 和 3N/4位置的数,然后依次找出这三个数出现次数。 我做的时间复杂度是 O(N),其实用binary search的话可以降到 O(logN) 的,挂完电话反应过来了T.T
实现power(a,b)(其中a,b>=1)。这个我傻逼了,写了个接近于O(n)的解法,面试官一直在试图把我揪回O(logn)