# 1.Leetcode Algorithm Practice

## Menu

* [Leetcode.7. Reverse Integer](https://jenhsuan.gitbooks.io/letcode/content/chapter1.html)
* [Leetcode.38. Count and Say](https://jenhsuan.gitbooks.io/letcode/content/2-count-and-say.html)
* [LeetCode.8. String to Integer (atoi)](https://jenhsuan.gitbooks.io/letcode/content/8.string-to-integer.html)
* [Leetcode.48. Rotate Image](https://jenhsuan.gitbooks.io/letcode/content/48.rotate-image.html)
* [Leetcode.344. Reverse String](https://jenhsuan.gitbooks.io/letcode/content/leetcode.344.-reverse-string.html)
* [Leetcode.47. Permutations II](https://jenhsuan.gitbooks.io/letcode/content/47.permutations-ii.html)
* [Leetcode.28. Implement strStr()](https://jenhsuan.gitbooks.io/letcode/content/leetcode.28.-implement-strstr.html)
* [Leetcode.46. Permutations](https://jenhsuan.gitbooks.io/letcode/content/46.permutations.html)
* [Leetcode.357. Count Numbers with Unique Digits](https://jenhsuan.gitbooks.io/letcode/content/leetcode.357.-count-numbers-with-unique-digits.html)
* [Leetcode.33. Search in Rotated Sorted Array](https://jenhsuan.gitbooks.io/letcode/content/leetcode33-search-in-rotated-sorted-array.html)
* [Leetcode.283. Move Zeroes](https://jenhsuan.gitbooks.io/letcode/content/leetcode283-move-zeroes.html)
* [Leetcode.290. Word Pattern](https://jenhsuan.gitbooks.io/letcode/content/leetcode290-word-pattern.html)
* [Leetcode.2. Add Two Numbers](https://jenhsuan.gitbooks.io/letcode/content/leetcode2-add-two-numbers.html)
* [Leetcode.9. Palindrome Number](https://jenhsuan.gitbooks.io/letcode/content/leetcode9-palindrome-number.html)
* [Leetcode.19. Remove Nth Node From End of List](https://jenhsuan.gitbooks.io/letcode/content/leetcode19-remove-nth-node-from-end-of-list.html)
* [Leetcode.22. Generate Parentheses](https://jenhsuan.gitbooks.io/letcode/content/leetcode22-generate-parentheses.html)
* [Leetcode.73. Set Matrix Zeroes](https://jenhsuan.gitbooks.io/letcode/content/leetcode73-set-matrix-zeroes.html)
* [Leetcode.98. Validate Binary Search Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode98-validate-binary-search-tree.html)
* [Leetcode.100. Same Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode100-same-tree.html)
* [Leetcode.151. Reverse Words in a String](https://jenhsuan.gitbooks.io/letcode/content/leetcode151-reverse-words-in-a-string.html)
* [Leetcode.130. Surrounded Regions](https://jenhsuan.gitbooks.io/letcode/content/leetcode130-surrounded-regions.html)
* [Leetcode.169. Majority Element](https://jenhsuan.gitbooks.io/letcode/content/leetcode169-majority-element.html)
* [Leetcode.199. Binary Tree Right Side View](https://jenhsuan.gitbooks.io/letcode/content/leetcode199-binary-tree-right-side-view.html)
* [Leetcode.215. Kth Largest Element in an Array](https://jenhsuan.gitbooks.io/letcode/content/leetcode215-kth-largest-element-in-an-array.html)
* [Leetcode.207. Course Schedule](https://jenhsuan.gitbooks.io/letcode/content/leetcode207-course-schedule.html)
* [Leetcode.210. Course Schedule II](https://jenhsuan.gitbooks.io/letcode/content/leetcode210-course-schedule-ii.html)
* [Leetcode.415. Add Strings](https://jenhsuan.gitbooks.io/letcode/content/leetcode415-add-strings.html)
* [Leetcode.401. Binary Watch](https://jenhsuan.gitbooks.io/letcode/content/leetcode401-binary-watch.html)
* [Leetcode.424. Longest Repeating Character Replacement](https://jenhsuan.gitbooks.io/letcode/content/leetcode424-longest-repeating-character-replacement.html)
* [Leetcode.441. Arranging Coins](https://jenhsuan.gitbooks.io/letcode/content/leetcode441-arranging-coins.html)
* [Leetcode.94. Binary Tree Inorder Traversal](https://jenhsuan.gitbooks.io/letcode/content/leetcode94-binary-tree-inorder-traversal.html)
* [Leetcode.88.Merge Sorted Array](https://jenhsuan.gitbooks.io/letcode/content/leetcode88merge-sorted-array.html)
* [Leetcode.203. Remove Linked List Elements](https://jenhsuan.gitbooks.io/letcode/content/leetcode203-remove-linked-list-elements.html)
* [Leetcode.78. Subsets](https://jenhsuan.gitbooks.io/letcode/content/leetcode78-subsets.html)
* [Leetcode.475. Heaters](https://jenhsuan.gitbooks.io/letcode/content/leetcode475-heaters.html)
* [Leetcode.112. Path Sum](https://jenhsuan.gitbooks.io/letcode/content/leetcode112-path-sum.html)
* [Leetcode.77. Combinations](https://jenhsuan.gitbooks.io/letcode/content/leetcode77-combinations.html)
* [Leetcode.268. Missing Number](https://jenhsuan.gitbooks.io/letcode/content/leetcode268-missing-number.html)
* [Leetcode.102.Binary Tree Level Order Traversal](https://jenhsuan.gitbooks.io/letcode/content/leetcode102binary-tree-level-order-traversal.html)
* [Leetcode.67. Add Binary](https://jenhsuan.gitbooks.io/letcode/content/leetcode67-add-binary.html)
* [Leetcode. 390.Elimination Game](https://jenhsuan.gitbooks.io/letcode/content/leetcode-390elimination-game.html)
* [Leetcode.383. Ransom Note](https://jenhsuan.gitbooks.io/letcode/content/leetcode383-ransom-note.html)
* [Leetcode.53. Maximum Subarray](https://jenhsuan.gitbooks.io/letcode/content/leetcode53-maximum-subarray.html)
* [Leetcode.342. Power of Four](https://jenhsuan.gitbooks.io/letcode/content/leetcode342-power-of-four.html)
* [Leetcode.438. Find All Anagrams in a String](https://jenhsuan.gitbooks.io/letcode/content/leetcode438-find-all-anagrams-in-a-string.html)
* [Leetcode.66. Plus One](https://jenhsuan.gitbooks.io/letcode/content/leetcode66-plus-one.html)
* [Leetcode.62. Unique Paths](https://jenhsuan.gitbooks.io/letcode/content/leetcode62-unique-paths.html)
* [Leetcode.389. Find the Difference](https://jenhsuan.gitbooks.io/letcode/content/leetcode389-find-the-difference.html)
* [Leetcode.75. Sort Colors](https://jenhsuan.gitbooks.io/letcode/content/leetcode75-sort-colors.html)
* [Leetcode.442. Find All Duplicates in an Array](https://jenhsuan.gitbooks.io/letcode/content/leetcode75-sort-colors.html)
* [Leetcode.190. Reverse Bits](https://jenhsuan.gitbooks.io/letcode/content/leetcode190-reverse-bits.html)
* [Leetcode.539. Minimum Time Difference](https://jenhsuan.gitbooks.io/letcode/content/leetcode539-minimum-time-difference.html)
* [Leetcode.414. Third Maximum Number](https://jenhsuan.gitbooks.io/letcode/content/leetcode414-third-maximum-number.html)
* [Leetcode.434. Number of Segments in a String](https://jenhsuan.gitbooks.io/letcode/content/leetcode434-number-of-segments-in-a-string.html)
* [Leetcode.318. Maximum Product of Word Lengths](https://jenhsuan.gitbooks.io/letcode/content/leetcode318-maximum-product-of-word-lengths.html)
* [Leetcode.392. Is Subsequence](https://jenhsuan.gitbooks.io/letcode/content/leetcode392-is-subsequence.html)
* [Leetcode.394. Decode String](https://jenhsuan.gitbooks.io/letcode/content/leetcode394-decode-string.html)
* [Leetcode.367. Valid Perfect Square](https://jenhsuan.gitbooks.io/letcode/content/leetcode367-valid-perfect-square.html)
* [Leetcode.445. Add Two Numbers II](https://jenhsuan.gitbooks.io/letcode/content/leetcode445-add-two-numbers-ii.html)
* [Leetcode.553. Optimal Division](https://jenhsuan.gitbooks.io/letcode/content/leetcode553-optimal-division.html)
* [Leetcode.413. Arithmetic Slices](https://jenhsuan.gitbooks.io/letcode/content/leetcode413-arithmetic-slices.html)
* [Leetcode.349. Intersection of Two Arrays](https://jenhsuan.gitbooks.io/letcode/content/leetcode349-intersection-of-two-arrays.html)
* [Leetcode.5. Longest Palindromic Substring](https://jenhsuan.gitbooks.io/letcode/content/leetcode5-longest-palindromic-substring.html)
* [Leetcode.532. K-diff Pairs in an Array](https://jenhsuan.gitbooks.io/letcode/content/leetcode532-k-diff-pairs-in-an-array.html)
* [Leetcode.26. Remove Duplicates from Sorted Array](https://jenhsuan.gitbooks.io/letcode/content/leetcode26-remove-duplicates-from-sorted-array.html)
* [Leetcode.70. Climbing Stairs](https://jenhsuan.gitbooks.io/letcode/content/leetcode70-climbing-stairs.html)
* [Leetcode.409. Longest Palindrome](https://jenhsuan.gitbooks.io/letcode/content/leetcode409-longest-palindrome.html)
* [Leetcode.507. Perfect Number](https://jenhsuan.gitbooks.io/letcode/content/leetcode507-perfect-number.html)
* [Leetcode.107. Binary Tree Level Order Traversal II](https://jenhsuan.gitbooks.io/letcode/content/leetcode107-binary-tree-level-order-traversal-ii.html)
* [Leetcode.104. Maximum Depth of Binary Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode104-maximum-depth-of-binary-tree.html)
* [Leetcode.226. Invert Binary Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode226-invert-binary-tree.html)
* [Leetcode.563. Binary Tree Tilt](https://jenhsuan.gitbooks.io/letcode/content/leetcode563-binary-tree-tilt.html)
* [Leetcode.237. Delete Node in a Linked](https://jenhsuan.gitbooks.io/letcode/content/leetcode237-delete-node-in-a-linked.html)&#x20;
* [Leetcode.111. Minimum Depth of Binary Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode111-minimum-depth-of-binary-tree.html)
* [Leetcode.543. Diameter of Binary Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode543-diameter-of-binary-tree.html)
* [Leetcode.572. Subtree of Another Tree Add to List](https://jenhsuan.gitbooks.io/letcode/content/leetcode572-subtree-of-another-tree-add-to-list.html)
* [Leetcode.235. Lowest Common Ancestor of a Binary Search Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode235-lowest-common-ancestor-of-a-binary-search-tree.html)
* [Leetcode.108. Convert Sorted Array to Binary Search Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode108-convert-sorted-array-to-binary-search-tree.html)
* [Leetcode.101. Symmetric Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode101-symmetric-tree.html)
* [Leetcode.501. Find Mode in Binary Search Tree Add to List](https://jenhsuan.gitbooks.io/letcode/content/leetcode501-find-mode-in-binary-search-tree-add-to-list.html)
* [Leetcode.257. Binary Tree Paths](https://jenhsuan.gitbooks.io/letcode/content/leetcode257-binary-tree-paths.html)
* [Leetcode.110. Balanced Binary Tree](https://jenhsuan.gitbooks.io/letcode/content/leetcode110-balanced-binary-tree.html)
* [Leetcode.378. Kth Smallest Element in a Sorted Matrix](https://jenhsuan.gitbooks.io/letcode/content/leetcode378-kth-smallest-element-in-a-sorted-matrix.html)
* [Leetcode.373. Find K Pairs with Smallest Sums](https://jenhsuan.gitbooks.io/letcode/content/leetcode373-find-k-pairs-with-smallest-sums.html)
* [Leetcode.238. Product of Array Except Self](https://jenhsuan.gitbooks.io/letcode/content/leetcode238-product-of-array-except-self.html)
* [Leetcode.423. Reconstruct Original Digits from English](https://jenhsuan.gitbooks.io/letcode/content/leetcode423-reconstruct-original-digits-from-english.html)
* [Leetcode.319. Bulb Switcher](https://jenhsuan.gitbooks.io/letcode/content/shu-xue/leetcode319-bulb-switcher.html)
* [Leetcode.397. Integer Replacement](https://jenhsuan.gitbooks.io/letcode/content/leetcode397-integer-replacement.html)
* [Leetcode.166. Fraction to Recurring Decimal](https://jenhsuan.gitbooks.io/letcode/content/leetcode166-fraction-to-recurring-decimal.html)
* [Leetcode.508. Most Frequent Subtree Sum](https://jenhsuan.gitbooks.io/letcode/content/leetcode508-most-frequent-subtree-sum.html)
* [Leetcode.69. Sqrt(x)](https://jenhsuan.gitbooks.io/letcode/content/leetcode69-sqrtx.html)
* [Leetcode.50. Pow(x, n)](https://jenhsuan.gitbooks.io/letcode/content/leetcode50-powx-n.html)
* [Leetcode.459. Repeated Substring Pattern](https://jenhsuan.gitbooks.io/letcode/content/leetcode459-repeated-substring-pattern.html)
* [Leetcode.260. Single Number III](https://jenhsuan.gitbooks.io/letcode/content/leetcode260-single-number-iii.html)
* [Leetcode.136. Single Number](https://jenhsuan.gitbooks.io/letcode/content/leetcode136-single-number.html)
* [Leetcode.137. Single Number II](https://jenhsuan.gitbooks.io/letcode/content/leetcode137-single-number-ii.html)
* [Leetcode.451. Sort Characters By Frequency](https://jenhsuan.gitbooks.io/letcode/content/leetcode451-sort-characters-by-frequency.html)
* [Leetcode.125. Valid Palindrome](https://jenhsuan.gitbooks.io/letcode/content/leetcode125-valid-palindrome.html)
* [Leetcode.118. Pascal's Triangle](https://jenhsuan.gitbooks.io/letcode/content/leetcode118-pascals-triangle.html)
* [Leetcode.506. Relative Ranks](https://jenhsuan.gitbooks.io/letcode/content/leetcode506-relative-ranks.html)
* [Leetcode.447. Number of Boomerangs](https://jenhsuan.gitbooks.io/letcode/content/leetcode447-number-of-boomerangs.html)
* [Leetcode.437. Path Sum III](https://jenhsuan.gitbooks.io/letcode/content/leetcode437-path-sum-iii.html)
* [Leetcode.113. Path Sum II](https://jenhsuan.gitbooks.io/letcode/content/leetcode113-path-sum-ii.html)
* [Leetcode.144. Binary Tree Preorder Traversal](https://jenhsuan.gitbooks.io/letcode/content/leetcode144-binary-tree-preorder-traversal.html)
* [Leetcode.171. Excel Sheet Column Number](https://jenhsuan.gitbooks.io/letcode/content/leetcode171-excel-sheet-column-number.html)
* [Leetcode.168. Excel Sheet Column Title](https://jenhsuan.gitbooks.io/letcode/content/leetcode168-excel-sheet-column-title.html)
*   [Leetcode.412. Fizz Buzz](https://jenhsuan.gitbooks.io/letcode/content/leetcode412-fizz-buzz.html)

    
* [Leetcode.350. Intersection of Two Arrays II](https://jenhsuan.gitbooks.io/letcode/content/leetcode350-intersection-of-two-arrays-ii.html)
* [Leetcode.217. Contains Duplicate](https://jenhsuan.gitbooks.io/letcode/content/leetcode217-contains-duplicate.html)
* [Leetcode.219. Contains Duplicate II](https://jenhsuan.gitbooks.io/letcode/content/leetcode219-contains-duplicate-ii.html)
* [Leetcade.220. Contains Duplicate III](https://jenhsuan.gitbooks.io/letcode/content/leetcade220-contains-duplicate-iii.html)
* [Leetcode.530. Minimum Absolute Difference in BST](https://jenhsuan.gitbooks.io/letcode/content/leetcode530-minimum-absolute-difference-in-bst.html)
* [Leetcode.345. Reverse Vowels of a String](https://jenhsuan.gitbooks.io/letcode/content/leetcode345-reverse-vowels-of-a-string.html)
* [Leetcode.404. Sum of Left Leaves](https://jenhsuan.gitbooks.io/letcode/content/leetcode404-sum-of-left-leaves.html)
* [Leetcode.119. Pascal's Triangle II](https://jenhsuan.gitbooks.io/letcode/content/leetcode119-pascals-triangle-ii.html)
* [Leetcode.27. Remove Element](https://jenhsuan.gitbooks.io/letcode/content/leetcode27-remove-element.html)
* [Leetcode.494. Target Sum](https://jenhsuan.gitbooks.io/letcode/content/leetcode494-target-sum.html)
* [Leetcode.515. Find Largest Value in Each Tree Row](https://jenhsuan.gitbooks.io/letcode/content/leetcode515-find-largest-value-in-each-tree-row.html)
* [Leetcode.322. Coin Change](https://jenhsuan.gitbooks.io/letcode/content/leetcode322-coin-change.html)
* [Leetcode.518. Coin Change 2](https://jenhsuan.gitbooks.io/letcode/content/leetcode518-coin-change-2.html)
* [Leetcode.382. Linked List Random Node](https://jenhsuan.gitbooks.io/letcode/content/leetcode382-linked-list-random-node.html)
* [Leetcode.461. Hamming Distance](https://jenhsuan.gitbooks.io/letcode/content/leetcode461-hamming-distance.html)
* [Leetcode.477. Total Hamming Distance](https://jenhsuan.gitbooks.io/letcode/content/leetcode477-total-hamming-distance.html)
* [Leetcode.371. Sum of Two Integers](https://jenhsuan.gitbooks.io/letcode/content/leetcode371-sum-of-two-integers.html)
* [Leetcode.405. Convert a Number to Hexadecimal](https://jenhsuan.gitbooks.io/letcode/content/leetcode405-convert-a-number-to-hexadecimal.html)
* [Leetcode.476. Number Complement](https://jenhsuan.gitbooks.io/letcode/content/leetcode476-number-complement.html)
* [Leetcode.187. Repeated DNA Sequences](https://jenhsuan.gitbooks.io/letcode/content/leetcode187-repeated-dna-sequences.html)
* Leetcode.500. Keyboard Row
* Leetcode.463. Island Perimeter
* Leetcode.561. Array Partition I
* Leetcode.557. Reverse Words in a String III
* Leetcode.566. Reshape the Matrix
* Leetcode.387. First Unique Character in a String
* Leetcode.242. Valid Anagram
* Leetcode.121. Best Time to Buy and Sell Stock
* Leetcode.287. Find the Duplicate Number
* Leetcode.657. Judge Route Circle
* Leetcode.485. Max Consecutive Ones
* Leetcode.520. Detect Capital
* Leetcode.521. Longest Uncommon Subsequence I
* Leetcode.448. Find All Numbers Disappeared in an Array
* Leetcode.206. Reverse Linked List
* Leetcode.637. Average of Levels in Binary Tree
* Leetcode.236. Lowest Common Ancestor of a Binary Tree
* Leetcode.623. Add One Row to Tree
* Leetcode.652. Find Duplicate Subtrees
* Leetcode.606. Construct String from Binary Tree
* Leetcode.141. Linked List Cycle
* Leetcode.617. Merge Two Binary Trees
* Leetcode.538. Convert BST to Greater Tree
* Leetcode.160. Intersection of Two Linked Lists
* Leetcode.234. Palindrome Linked List
* Leetcode.155. Min Stack
* Leetcode.189. Rotate Array
* Leetcode.61. Rotate List
* Leetcode.581. Shortest Unsorted Continuous Subarray
* Leetcode.198. House Robber
* Leetcode.213. House Robber II
* Leetcode.337. House Robber III
* Leetcode.109. Convert Sorted List to Binary Search Tree
* Leetcode.86. Partition List
* Leetcode.74. Search a 2D Matrix
* Leetcode.647. Palindromic Substrings
* Leetcode.6. ZigZag Conversion
* Leetcode.40. Combination Sum II
* Leetcode.39. Combination Sum
* Leetcode.611. Valid Triangle Number
