Kean's Blog Home Page, 博客首页 Blog Archives Page, 博客归档页 Blog Categories Page, 博客分类页 Blog Tags Page, 博客标签分类页 Kean's Blog WIKI Page, 博客维基页 Kean's Blog About Page, 博客关于页 Quick Sort | AlgorithmC++quick sort 堆排序以及优先队列 | AlgorithmC++heap sortheappriority_queue LeetCode Tags | AlgorithmLeetCodeOJ LeetCode Solutions | AlgorithmLeetCodeOJ Hihocoder 1288 Font Size | OJ校园招聘Microsoft微软在线笔试HihocoderBinary Search Hihocoder 1291 Buiding in Sandbox | OJ校园招聘Microsoft微软在线笔试HihocoderBFS Hihocoder 1290 Demo Day | OJ校园招聘Microsoft微软在线笔试HihocoderDPSPFA Hihocoder 1289 403 Forbidden | OJ校园招聘Microsoft微软在线笔试HihocoderTrie Tree数据结构 微软2016校园招聘4月在线笔试题 | 校园招聘Microsoft微软在线笔试Hihocoder数据结构算法 Start Here | GithubJekyllMarkdown About Jekyll Now | githubjekyll LeetCode 1 Two Sum| 题解 | Solution | ArrayHash Table LeetCode 2 Add Two Numbers| 题解 | Solution | Linked ListMath LeetCode 3 Longest Substring Without Repeating Characters| 题解 | Solution | Hash TableTwo PointersString LeetCode 10 Regular Expression Matching| 题解 | Solution | Dynamic ProgrammingBacktrackingString LeetCode 11 Container with Most Water| 题解 | Solution | ArrayTwo Pointers LeetCode 13 Roman to Integer| 题解 | Solution | StringMath LeetCode 14 Longest Common Prefix| 题解 | Solution | String LeetCode 5 Longest Palindromic Substring| 题解 | Solution | String LeetCode 6 ZigZag Conversion| 题解 | Solution | String LeetCode 7 Reverse Integer| 题解 | Solution | Math LeetCode 8 String to Integer (atoi)| 题解 | Solution | MathString LeetCode 9 Palindrome Number| 题解 | Solution | Math LeetCode 4 Median of Two Sorted Arrays| 题解 | Solution | ArrayDivide and ConquerBinary Search LeetCode 12 Integer to Roman| 题解 | Solution | StringMath LeetCode 15 3Sum| 题解 | Solution | ArrayTwo Pointers LeetCode 16 3Sum Closest| 题解 | Solution | ArrayTwo Pointers LeetCode 17 Letter Combinations of A Phone Number| 题解 | Solution | BacktrackingString LeetCode 18 4Sum| 题解 | Solution | ArrayHash TableTwo Pointers LeetCode 19 Remove Nth Node from End of List| 题解 | Solution | Linked ListTwo Pointers LeetCode 20 Valid Parentheses| 题解 | Solution | StackString LeetCode 21 Merge Two Sorted Lists| 题解 | Solution | Linked List LeetCode 24 Swap Nodes in Pairs| 题解 | Solution | Linked List LeetCode 26 Remove Duplicates from Sorted Array| 题解 | Solution | ArrayTwo Pointers LeetCode 27 Remove Element| 题解 | Solution | ArrayTwo Pointers LeetCode 28 Implement strStr()| 题解 | Solution | Two PointersString LeetCode 32 Longest Valid Parentheses| 题解 | Solution | StringDynamic Programming LeetCode 37 Sudoku Solver| 题解 | Solution | Hash TableBacktracking LeetCode 22 Generate Parentheses| 题解 | Solution | BacktrackingString LeetCode 23 Merge K Sorted Lists| 题解 | Solution | Divide and ConquerLinked ListHeap LeetCode 25 Reverse Nodes in k-Group| 题解 | Solution | Linked List LeetCode 29 Divide Two Integers| 题解 | Solution | MathBinary Search LeetCode 30 Substring with Concatenation of All Words| 题解 | Solution | Hash TableTwo PointersString LeetCode 31 Next Permutation| 题解 | Solution | ArrayMath LeetCode 33 Search in Rotated Sorted Array| 题解 | Solution | ArrayBinary Search LeetCode 34 Search for A Range| 题解 | Solution | ArrayBinary Search LeetCode 35 Search Insert Position| 题解 | Solution | ArrayBinary Search LeetCode 36 Valid Sudoku| 题解 | Solution | Hash Table LeetCode 38 Count and Say| 题解 | Solution | String LeetCode 39 Combination Sum| 题解 | Solution | ArrayBacktracking LeetCode 40 Combination Sum II| 题解 | Solution | ArrayBacktracking LeetCode 41 First Missing Positive| 题解 | Solution | Array LeetCode 42 Trapping Rain Water| 题解 | Solution | ArrayStackTwo Pointers LeetCode 43 Multiply Strings| 题解 | Solution | MathString LeetCode 44 Wildcard Matching| 题解 | Solution | Dynamic ProgrammingBacktrackingGreedyString LeetCode 45 Jump Game II| 题解 | Solution | ArrayGreedy LeetCode 46 Permutations| 题解 | Solution | Backtracking LeetCode 47 Permutations II| 题解 | Solution | Backtracking LeetCode 48 Rotate Image| 题解 | Solution | Array LeetCode 49 Group Anagrams| 题解 | Solution | StringHash Table LeetCode 50 Pow(x, n)| 题解 | Solution | Binary SearchMath LeetCode 51 N-Queens| 题解 | Solution | Hash TableBacktracking LeetCode 52 N-Queens| 题解 | Solution | Hash TableBacktracking LeetCode 53 Maximum Subarray| 题解 | Solution | ArrayDynamic ProgrammingDivide and Conquer LeetCode 54 Spiral Matrix| 题解 | Solution | Array LeetCode 55 Jump Game| 题解 | Solution | ArrayGreedy LeetCode 56 Merge Intervals| 题解 | Solution | ArraySort LeetCode 57 Insert Interval| 题解 | Solution | ArraySort LeetCode 58 Length of Last Word| 题解 | Solution | String LeetCode 133 Clone Graph| 题解 | Solution | GraphDepth First SearchBreadth First Search LeetCode 59 Spiral Matrix II| 题解 | Solution | Array LeetCode 60 Permutation Sequence| 题解 | Solution | BacktrackingMath LeetCode 61 Rotate List| 题解 | Solution | Linked ListTwo Pointers LeetCode 62 Unique Paths| 题解 | Solution | ArrayDynamic Programming LeetCode 63 Unique Paths II| 题解 | Solution | ArrayDynamic Programming LeetCode 64 Minimum Path Sum| 题解 | Solution | ArrayDynamic Programming LeetCode 65 Valid Number| 题解 | Solution | MathString LeetCode 66 Plus One| 题解 | Solution | ArrayMath LeetCode 67 Add Binary| 题解 | Solution | MathString LeetCode 68 Text Justification| 题解 | Solution | String LeetCode 69 Sqrt(x)| 题解 | Solution | Binary SearchMath LeetCode 70 Climbing Stairs| 题解 | Solution | Dynamic Programming LeetCode 71 Simplify Path| 题解 | Solution | StackString LeetCode 72 Edit Distance| 题解 | Solution | StringDynamic Programming LeetCode 73 Set Matrix Zeroes| 题解 | Solution | Array LeetCode 74 Search A 2D Matrix| 题解 | Solution | ArrayBinary Search LeetCode 75 Sort Colors| 题解 | Solution | ArrayTwo PointersSort LeetCode 76 Minimum Window Substring| 题解 | Solution | Hash TableTwo PointersString LeetCode 77 Combinations| 题解 | Solution | Backtracking LeetCode 78 Subsets| 题解 | Solution | ArrayBacktrackingBit Manipulation LeetCode 79 Word Search| 题解 | Solution | ArrayBacktracking LeetCode 80 Remove Duplicates from Sorted Array II| 题解 | Solution | ArrayTwo Pointers LeetCode 81 Search in Rotated Sorted Array II| 题解 | Solution | ArrayBinary Search LeetCode 82 Remove Duplicates from Sorted List II| 题解 | Solution | Linked List LeetCode 84 Largest Rectangle in Histogram| 题解 | Solution | ArrayStack LeetCode 85 Maximal Rectangle| 题解 | Solution | ArrayHash TableStackDynamic Programming LeetCode 86 Partition List| 题解 | Solution | Linked ListTwo Pointers LeetCode 87 Scramble String| 题解 | Solution | StringDynamic Programming LeetCode 88 Merge Sorted Array| 题解 | Solution | ArrayTwo Pointers LeetCode 89 Gray Code| 题解 | Solution | Backtracking LeetCode 90 Subsets II| 题解 | Solution | ArrayBacktracking LeetCode 91 Decode Ways| 题解 | Solution | Dynamic ProgrammingString LeetCode 92 Reverse Linked List II| 题解 | Solution | Linked List LeetCode 93 Restore IP Addresses| 题解 | Solution | BacktrackingString LeetCode 94 Binary Tree Inorder Traversal| 题解 | Solution | TreeHash TableStack LeetCode 95 Unique Binary Search Tree II| 题解 | Solution | TreeDynamic Programming LeetCode 100 Same Tree| 题解 | Solution | TreeDepth First Search LeetCode 101 Symmetric Tree| 题解 | Solution | TreeDepth First SearchBreadth First Search LeetCode 102 Binary Tree Level Order Traversal| 题解 | Solution | TreeBreadth First Search LeetCode 103 Binary Tree Zigzag Level Order Traversal| 题解 | Solution | TreeStackBreadth First Search LeetCode 104 Maximum Depth of Binary Tree| 题解 | Solution | TreeDepth First Search LeetCode 105 Construct Binary Tree from Preorder and Inorder Traversal| 题解 | Solution | TreeArrayDepth First Search LeetCode 106 Construct Binary Tree from Inorder and Postorder traversal| 题解 | Solution | TreeArrayDepth First Search LeetCode 107 Binary Tree Level Order Traversal II| 题解 | Solution | TreeBreadth First Search LeetCode 108 Convert Sorted Array to Binary Search Tree| 题解 | Solution | TreeDepth First Search LeetCode 109 Convert Sorted List to Binary Search Tree| 题解 | Solution | Depth First SearchLinked List LeetCode 110 Balanced Binary Tree| 题解 | Solution | TreeDepth First Search LeetCode 111 Minimum Depth of Binary Tree| 题解 | Solution | TreeDepth First SearchBreadth First Search LeetCode 112 Path Sum| 题解 | Solution | TreeDepth First Search LeetCode 113 Path Sum II| 题解 | Solution | TreeDepth First Search LeetCode 114 Flatten Binary Tree to Linked List| 题解 | Solution | TreeDepth First Search LeetCode 115 Distinct Subsequences| 题解 | Solution | StringDynamic Programming LeetCode 116 Populating Next Right Pointers in Each Node| 题解 | Solution | TreeDepth First Search LeetCode 117 Populating Next Right Pointers in Each Node II| 题解 | Solution | TreeDepth First Search LeetCode 118 Pascal's Triangle| 题解 | Solution | Array LeetCode 119 Pascal's Triangle II| 题解 | Solution | Array LeetCode 120 Triangle| 题解 | Solution | ArrayDynamic Programming LeetCode 121 Best Time to Buy and Sell Stock| 题解 | Solution | ArrayDynamic Programming LeetCode 122 Best Time to Buy and Sell Stock II| 题解 | Solution | ArrayGreedy LeetCode 123 Best Time to Buy and Sell Stock III| 题解 | Solution | ArrayDynamic Programming LeetCode 124 Binary Tree Maximum Path Sum| 题解 | Solution | TreeDepth First Search LeetCode 125 Valid Palindrome| 题解 | Solution | Two PointersString LeetCode 96 Unique Binary Search Trees| 题解 | Solution | TreeDynamic Programming LeetCode 97 Interleaving String| 题解 | Solution | StringDynamic Programming LeetCode 98 Validate Binary Search Tree| 题解 | Solution | TreeDepth First Search LeetCode 99 Recover Binary Search Tree| 题解 | Solution | TreeDepth First Search LeetCode 126 Word Ladder II| 题解 | Solution | ArrayBacktrackingBreadth First SearchString LeetCode 127 Word Ladder| 题解 | Solution | StringBreadth First Search LeetCode 128 Longest Consecutive Sequence| 题解 | Solution | ArrayUnion Find LeetCode 129 Sum Root to Leaf Numbers| 题解 | Solution | TreeDepth First Search LeetCode 130 Surrounded Regions| 题解 | Solution | Union FindBreadth First Search LeetCode 131 Palindrome Partition| 题解 | Solution | Backtracking LeetCode 132 Palindrome Partitioning II| 题解 | Solution | Dynamic Programming LeetCode 134 Gas Station| 题解 | Solution | Greedy LeetCode 135 Candy| 题解 | Solution | Greedy LeetCode 136 Single Number| 题解 | Solution | Hash TableBit Manipulation LeetCode 137 Single Number II| 题解 | Solution | Bit Manipulation LeetCode 138 Copy List with Random Pointer| 题解 | Solution | Hash TableLinked List LeetCode 139 Word Break| 题解 | Solution | StringDynamic Programming LeetCode 140 Word Break II| 题解 | Solution | Dynamic ProgrammingBacktrackingString LeetCode 141 Linked List Cycle| 题解 | Solution | Linked ListTwo Pointers LeetCode 142 Linked List Cycle II| 题解 | Solution | Linked ListTwo Pointers LeetCode 143 Reorder List| 题解 | Solution | Linked List LeetCode 144 Binary Tree Preorder Traversal| 题解 | Solution | TreeStack LeetCode 145 Binary Tree Postorder Traversal| 题解 | Solution | TreeStack LeetCode 146 LRU Cache| 题解 | Solution | Design LeetCode 147 Insertion Sort List| 题解 | Solution | Linked ListSort LeetCode 148 Sort List| 题解 | Solution | Linked ListSort LeetCode 149 Max Points on A Line| 题解 | Solution | Hash TableMath LeetCode 150 Evaluate Reverse Polish Notation| 题解 | Solution | Stack LeetCode 151 Reverse Words in A String| 题解 | Solution | String LeetCode 152 Maximum Product Subarray| 题解 | Solution | ArrayDynamic Programming LeetCode 153 Find Minimum in Rotated Sorted Array| 题解 | Solution | ArrayBinary Search LeetCode 154 Find Minimum in Rotated Sorted Array II| 题解 | Solution | ArrayBinary Search LeetCode 155 Min Stack| 题解 | Solution | StackDesign LeetCode 160 Intersection of Two Linked Lists| 题解 | Solution | Linked List LeetCode 162 Find Peek Element| 题解 | Solution | Binary SearchArray LeetCode 164 Maximum Gap| 题解 | Solution | Sort LeetCode 165 Compare Version Numbers| 题解 | Solution | String LeetCode 166 Fraction to Recurring Decimal| 题解 | Solution | Hash TableMath LeetCode 168 Excel Sheet Column Title| 题解 | Solution | Math LeetCode 169 Majority Element| 题解 | Solution | ArrayDivide and ConquerBit Manipulation LeetCode 171 Excel Sheet Column Number| 题解 | Solution | Math LeetCode 172 Factorial Trailing Zeroes| 题解 | Solution | Math LeetCode 173 Binary Search Tree Iterator| 题解 | Solution | TreeStackDesign LeetCode 179 Largest Number| 题解 | Solution | Sort LeetCode 187 Repeated DNA Sequences| 题解 | Solution | Hash TableBit Manipulation LeetCode 188 Best Time to Buy and Sell Stock IV| 题解 | Solution | Dynamic Programming LeetCode 189 Rotate Array| 题解 | Solution | Array LeetCode 190 Reverse Bits| 题解 | Solution | Bit Manipulation LeetCode 191 Number of 1 Bits| 题解 | Solution | Bit Manipulation LeetCode 198 House Robber| 题解 | Solution | Dynamic Programming LeetCode 199 Binary Tree Right Side View| 题解 | Solution | TreeDepth First SearchBreadth First Search LeetCode 200 Number of Islands| 题解 | Solution | Depth First SearchBreadth First SearchUnion Find LeetCode 201 Bitwise AND of Numbers Range| 题解 | Solution | Bit Manipulation LeetCode 202 Happy Number| 题解 | Solution | Hash TableMath LeetCode 203 Remove Linked List Elements| 题解 | Solution | Linked List LeetCode 204 Count Primes| 题解 | Solution | Hash TableMath LeetCode 205 Isomorphic Strings| 题解 | Solution | Hash Table LeetCode 206 Reverse Linked List| 题解 | Solution | Linked List LeetCode 207 Course Schedule| 题解 | Solution | Depth First SearchGraphBreadth First SearchTopological Sort LeetCode 208 Implement Trie (Prefix Tree)| 题解 | Solution | DesignTrie LeetCode 209 Minimum Size Subarray Sum| 题解 | Solution | ArrayTwo PointersBinary Search LeetCode 210 Course Schedule II| 题解 | Solution | Depth First SearchGraphBreadth First SearchTopological Sort LeetCode 211 Add and Search Word - Data structure design| 题解 | Solution | BacktrackingTrieDesign LeetCode 213 House Robber II| 题解 | Solution | Dynamic Programming LeetCode 214 Shortest Palindrome| 题解 | Solution | String LeetCode 215 Kth Largest Element in an Array| 题解 | Solution | HeapDivide and Conquer LeetCode 216 Combination Sum III| 题解 | Solution | ArrayBacktracking LeetCode 217 Contains Duplicate| 题解 | Solution | ArrayHash Table LeetCode 219 Contains Duplicate II| 题解 | Solution | ArrayHash Table LeetCode 220 Contains Duplicate III| 题解 | Solution | Binary Search Tree LeetCode 221 Maximal Square| 题解 | Solution | Dynamic Programming LeetCode 222 Count Complete Tree Nodes| 题解 | Solution | TreeBinary Search LeetCode 223 Rectangle Area| 题解 | Solution | Math LeetCode 224 Basic Calculator| 题解 | Solution | StackMath LeetCode 225 Implement Stack Using Queues| 题解 | Solution | StackDesign LeetCode 226 Invert Binary Tree| 题解 | Solution | Tree LeetCode 227 Basic Calculator II| 题解 | Solution | String LeetCode 231 Power of Two| 题解 | Solution | MathBit Manipulation LeetCode 232 Implement Queue using Stacks| 题解 | Solution | StackDesign LeetCode 234 Palindrome Linked List| 题解 | Solution | Linked ListTwo Pointers LeetCode 235 Lowest Common Ancestor of a Binary Search Tree| 题解 | Solution | Tree LeetCode 236 Lowest Common Ancestor of a Binary Tree| 题解 | Solution | Tree LeetCode 237 Delete Node in a Linked List| 题解 | Solution | Linked List LeetCode 238 Product of Array Except Self| 题解 | Solution | Array LeetCode 239 Sliding Window Maximum| 题解 | Solution | LeetCode 240 Search a 2D Matrix II| 题解 | Solution | Binary SearchDivide and Conquer LeetCode 241 Different Ways to Add Parentheses| 题解 | Solution | Divide and Conquer LeetCode 242 Valid Anagram| 题解 | Solution | Hash TableSort LeetCode 257 Binary Tree Paths| 题解 | Solution | TreeDepth First Search LeetCode 258 Add Digits| 题解 | Solution | Math LeetCode 260 Single Number III| 题解 | Solution | Bit Manipulation LeetCode 263 Ugly Number| 题解 | Solution | Math LeetCode 264 Ugly Number II| 题解 | Solution | Dynamic ProgrammingHeapMath LeetCode 268 Missing Number| 题解 | Solution | ArrayMathBit Manipulation LeetCode 273 Integer to English Words| 题解 | Solution | LeetCode 274 H-Index| 题解 | Solution | Hash TableSort LeetCode 275 H-Index II| 题解 | Solution | Binary Search LeetCode 278 First Bad Version| 题解 | Solution | Binary Search LeetCode 279 Perfect Squares| 题解 | Solution | Dynamic ProgrammingBreadth First SearchMath LeetCode 282 Expression Add Operators| 题解 | Solution | Divide and Conquer LeetCode 283 Move Zeroes| 题解 | Solution | ArrayTwo Pointers LeetCode 284 Peeking Iterator| 题解 | Solution | Design LeetCode 287 Find the Duplicate Number| 题解 | Solution | Binary SearchArrayTwo Pointers LeetCode 289 Game of Life| 题解 | Solution | Array LeetCode 290 Word Pattern| 题解 | Solution | Hash Table LeetCode 292 Nim Game| 题解 | Solution | Brainteaser LeetCode 295 Find Median from Data Stream| 题解 | Solution | HeapDesign LeetCode 297 Serialize And Deserialize Binary Tree| 题解 | Solution | TreeDesign LeetCode 299 Bulls and Cows| 题解 | Solution | Hash Table LeetCode 300 Longest Increasing Subsequence| 题解 | Solution | Dynamic ProgrammingBinary Search LeetCode 303 Range Sum Query Immutable| 题解 | Solution | Dynamic Programming LeetCode 304 Range Sum Query 2D - Immutable| 题解 | Solution | Dynamic Programming LeetCode 306 Additive Number| 题解 | Solution | Depth First SearchMathStringDynamic Programming LeetCode 307 Range Sum Query - Mutable| 题解 | Solution | Segment TreeBinary Index Tree LeetCode 309 Best Time to Buy and Sell Stock with Cooldown| 题解 | Solution | Dynamic Programming LeetCode 310 Minimum Height Trees| 题解 | Solution | Breadth First SearchGraph LeetCode 312 Burst Balloons| 题解 | Solution | Divide and ConquerDynamic Programming LeetCode 313 Super Ugly Number| 题解 | Solution | MathHeap LeetCode 316 Remove Duplicate Letters| 题解 | Solution | StackGreedy LeetCode 318 Maximum Product of Word Lengths| 题解 | Solution | Bit Manipulation LeetCode 319 Bulb Switcher| 题解 | Solution | MathBrainteaser LeetCode 322 Coin Change| 题解 | Solution | Dynamic Programming LeetCode 324 Wiggle Sort II| 题解 | Solution | Sort LeetCode 326 Power of Three| 题解 | Solution | Math LeetCode 328 Odd Even Linked List| 题解 | Solution | Linked List LeetCode 329 Longest Increasing Path in a Matrix| 题解 | Solution | Depth First SearchTopological SortMemoization LeetCode 330 Patching Array| 题解 | Solution | Greedy LeetCode 331 Verify Preorder Serialization of a Binary Tree| 题解 | Solution | TreeStack LeetCode 332 Reconstruct Itinerary| 题解 | Solution | GraphDepth First Search LeetCode 334 Increasing Triplet Subsequence| 题解 | Solution | Array LeetCode 337 House Robber III| 题解 | Solution | TreeDepth First Search LeetCode 338 Counting Bits| 题解 | Solution | Dynamic ProgrammingBit Manipulation LeetCode 341 Flatten Nested List Iterator| 题解 | Solution | StackDesign LeetCode 342 Power of Four| 题解 | Solution | MathBit Manipulation LeetCode 343 Integer Break| 题解 | Solution | MathDynamic Programming LeetCode 344 Reverse String| 题解 | Solution | StringTwo Pointers LeetCode 345 Reverse Vowels of a String| 题解 | Solution | StringTwo Pointers LeetCode 347 Top K Frequent Elements| 题解 | Solution | Hash TableHeap LeetCode 349 Intersection of Two Arrays| 题解 | Solution | Binary SearchHash TableTwo PointersSort LeetCode 350 Intersection of Two Arrays II| 题解 | Solution | Binary SearchHash TableTwo PointersSort LeetCode leetcode_sample Leetcode_sample| 题解 | Solution | LeetCode 754 Reach a Number| 题解 | Solution | MarkMath LeetCode 83 Remove Duplicates from Sorted List| 题解 | Solution | Linked List