leetcode-java
Introduction
1.
Array
1.1.
Rotate Array
1.2.
Remove Element
1.3.
Remove Duplicated Elements from Sorted Array
1.4.
Move Zeroes
1.5.
Plus One
1.6.
Pascal's Triangle
2.
Binary Tree
2.1.
Travesal
2.2.
Depth of Binary Tree
2.3.
Balanced Binary Tree
2.4.
Same Tree
2.5.
Symmetric Tree
2.6.
Convert Sorted Array/List to Binary Search Tree
2.7.
Path Sum
2.8.
Lowest Common Ancestor of a Binary Search Tree
2.9.
Invert Binary Tree
3.
Bit Manipulation
3.1.
Power of Two
3.2.
Missing Number
3.3.
Number of 1 Bits
3.4.
Single Number
4.
Linked List
4.1.
Reverse Linked List
4.2.
Remove Duplicates from Sorted List
4.3.
Intersection of Two Linked Lists
4.4.
Remove Linked List Elements
4.5.
Linked List Cycle
4.6.
Add Two Numbers
4.7.
Remove Nth Node From End of List
5.
String
5.1.
Valid Anagram
5.2.
Count and Say
5.3.
Implement strStr()
6.
Other
6.1.
Count Prime
6.2.
Add Digits
6.3.
Sqrt(x)
6.4.
Pow(x, n)
7.
Dynamic Programming
7.1.
Climbing Stairs
7.2.
House Robber
7.3.
Best Time to Buy and Sell Stock
7.4.
Longest Palindromic Substring
Powered by
GitBook
leetcode-java
Array
对于数组查找问题,如果数组无序则应该考虑是否要排序,MergeSort和QuickSort都能做到O(nlogn)。如果数组有序,则考虑二分搜索或二分搜索的变形算法来做查找。