GitHub - Holysu/LintCode: Java Solutions to problems on LintCode/LeetCode

0 Anagrams.java Medium Java [] 1 Binary Representation.java Hard Java [] 2 Binary Tree Level Order Traversal II.java Medium Java [] 3 Binary Tree Level Order Traversal.java Medium Java [] 4 Binary Tree Longest Consecutive Sequence.java Medium Java [] 5 Binary Tree Maximum Path Sum II.java Medium Java [] 6 Binary Tree Right Side View.java Medium Java [] 7 Binary Tree Serialization.java Medium Java [] 8 Binary Tree Zigzag Level Order Traversal.java Medium Java [] 9 ColorGrid.java Medium Java [] 10 Combination Sum II.java Medium Java [] 11 Combination Sum.java Medium Java [] 12 Combinations.java Medium Java [] 13 Construct Binary Tree from Inorder and Postorder Traversal.java Medium Java [] 14 Container With Most Water.java Medium Java [] 15 Convert Binary Search Tree to Doubly Linked List.java Medium Java [BST] 16 Copy List with Random Pointer.java Medium Java [] 17 Count of Smaller Number before itself.java Hard Java [] 18 Count of Smaller Number.java Medium Java [] 19 Delete Digits.java Medium Java [] 20 Encode and Decode Strings.java Medium Java [] 21 Fast Power.java Medium Java [] 22 Fibonacci.java Easy Java [] 23 Find the Connected Component in the Undirected Graph.java Medium Java [] 24 Find the Weak Connected Component in the Directed Graph.java Medium Java [] 25 First Missing Positive.java N/A Java [] 26 Flatten 2D Vector.java Medium Java [] 27 Fraction to Recurring Decimal.java Medium Java [] 28 Gas Station.java N/A Java [] 29 Generate Parentheses.java Medium Java [] 30 Gray Code.java Medium Java [] 31 Group Shifted Strings.java Easy Java [] 32 H-Index II.java Medium Java [] 33 H-Index.java Medium Java [] 34 Hamming Distance.java Easy Java [] 35 Happy Number.java Easy Java [] 36 Hash Function.java Easy Java [] 37 HashHeap.java Hard Java [] 38 HashWithArray.java Easy Java [] 39 HashWithCustomizedClass(LinkedList).java Medium Java [] 40 Heapify.java Medium Java [] 41 Heaters.java Easy Java [] 42 Identical Binary Tree.java Easy Java [] 43 Implement Queue by Two Stacks.java N/A Java [] 44 Implement Stack by Two Queues.java Easy Java [] 45 Implement Stack using Queues.java Easy Java [] 46 Implement Stack.java Easy Java [] 47 Implement strStr().java N/A Java [] 48 Implement Trie (Prefix Tree).java Medium Java [] 49 IndexMatch.java Easy Java [] 50 Inorder Successor in Binary Search Tree.java Medium Java [BST] 51 Insert Interval.java Easy Java [] 52 Insert Node in a Binary Search Tree .java Easy Java [BST] 53 Insertion Sort List.java N/A Java [] 54 Integer to English Words.java N/A Java [] 55 Interleaving Positive and Negative Numbers.java N/A Java [] 56 Intersection of Two Arrays.java Easy Java [] 57 Intersection of Two Linked Lists.java Easy Java [] 58 Interval Minimum Number.java Medium Java [] 59 Interval Sum II.java Hard Java [] 60 Interval Sum.java Medium Java [] 61 Invert Binary Tree.java Easy Java [] 62 Isomorphic Strings.java Easy Java [] 63 Jewels and Stones.java Easy Java [Hash Table] 64 Kth Largest Element.java Medium Java [] 65 Kth Smallest Element in a BST.java Medium Java [BST] 66 Kth Smallest Sum In Two Sorted Arrays.java Hard Java [] 67 Largest Number.java N/A Java [] 68 Last Position of Target.java N/A Java [] 69 Length of Last Word.java N/A Java [] 70 Longest Common Prefix.java Medium Java [] 71 Longest Common Substring.java N/A Java [] 72 Longest Consecutive Sequence.java N/A Java [] 73 Longest Increasing Continuous subsequence II.java N/A Java [] 74 Longest Increasing Continuous subsequence.java Easy Java [] 75 Longest Palindromic Substring.java Medium Java [] 76 Longest Univalue Path.java Easy Java [] 77 Longest Word in Dictionary.java Easy Java [] 78 Longest Words.java N/A Java [] 79 Lowest Common Ancestor II.java Easy Java [] 80 Lowest Common Ancestor of a Binary Search Tree.java Medium Java [] 81 Lowest Common Ancestor.java Easy Java [] 82 LRU Cache.java Hard Java [] 83 Majority Number II.java Medium Java [] 84 Majority Number III.java Medium Java [] 85 Matrix Zigzag Traversal.java Easy Java [] 86 Max Area of Island.java Easy Java [] 87 Maximum Depth of Binary Tree.java Easy Java [] 88 Maximum Subarray III.java N/A Java [] 89 Maximum Subarray.java Easy Java [] 90 Maximum SubarrayII.java N/A Java [] 91 MaximumSubarrayII.java N/A Java [] 92 Median of two Sorted Arrays.java Hard Java [] 93 Median.java N/A Java [] 94 Merge Intervals.java Easy Java [] 95 Merge k Sorted Arrays.java Medium Java [] 96 Merge k Sorted Lists.java Medium Java [] 97 Merge Sorted Array II.java N/A Java [] 98 Merge Sorted Array.java Easy Java [] 99 Merge Two Binary Trees.java Easy Java [] 100 Merge Two Sorted Lists.java Easy Java [] 101 Middle of Linked List.java N/A Java [] 102 Minimum Absolute Difference in BST.java Easy Java [BST] 103 Minimum Height Trees.java N/A Java [] 104 Minimum Subarray.java N/A Java [] 105 MinimumDepthOfBinaryTree.java Easy Java [] 106 Missing Ranges.java N/A Java [] 107 Multiply Strings.java Medium Java [] 108 Next Permutation.java Medium Java [] 109 NQueens.java N/A Java [] 110 NQueensII.java N/A Java [] 111 Nth to Last Node in List.java N/A Java [] 112 Number Triangles.java N/A Java [] 113 O(1) Check Power of 2.java N/A Java [] 114 Paint Fence.java N/A Java [] 115 Palindrome Linked List.java N/A Java [] 116 Palindrome Permutation II.java Medium Java [] 117 Palindrome Permutation.java Easy Java [] 118 Partition Array by Odd and Even.java N/A Java [] 119 Partition Array.java N/A Java [] 120 Partition List.java N/A Java [] 121 Pascal's Triangle II.java Easy Java [] 122 Peeking Iterator.java Medium Java [BST] 123 Permutation Index.java Easy Java [] 124 Permutation Sequence.java Medium Java [] 125 Permutations.java Medium Java [] 126 Populating Next Right Pointers in Each Node II.java Hard Java [] 127 Product of Array Exclude Itself.java N/A Java [] 128 QuickSort.java Easy Java [] 129 Recover Rotated Sorted Array.java N/A Java [] 130 Rehashing.java Medium Java [] 131 Remove Duplicates from Sorted Array.java Easy Java [] 132 Remove Duplicates from Sorted List II.java N/A Java [] 133 Remove Duplicates from Sorted List.java Easy Java [] 134 Remove Duplicates from Unsorted List.java N/A Java [] 135 Remove Invalid Parentheses.java Hard Java [] 136 Remove Linked List Elements.java N/A Java [] 137 Remove Node in Binary Search Tree.java Hard Java [BST] 138 Reorder List.java N/A Java [] 139 Reshape the Matrix.java Easy Java [] 140 Restore IP Addresses.java N/A Java [] 141 Reverse Linked List II .java N/A Java [] 142 Reverse Linked List.java Easy Java [] 143 Reverse String.java Easy Java [] 144 Reverse Words in a String II.java Medium Java [] 145 Reverse Words in a String.java Medium Java [] 146 Roman to Integer.java Easy Java [] 147 Rotate Image.java Medium Java [] 148 Rotate List.java N/A Java [] 149 Rotate String.java N/A Java [] 150 Search a 2D Matrix II.java N/A Java [] 151 Search a 2D Matrix.java N/A Java [] 152 Search for a Range.java N/A Java [] 153 Search Insert Position.java N/A Java [] 154 Search Range in Binary Search Tree .java Medium Java [BST] 155 Search Rotated in Sorted Array II.java N/A Java [] 156 Search Rotated in Sorted Array.java Hard Java [] 157 Segment Tree Build II.java Medium Java [] 158 Segment Tree Build.java Medium Java [] 159 Segment Tree Modify.java Medium Java [] 160 Segment Tree Query II.java Medium Java [] 161 Segment Tree Query.java Medium Java [] 162 Serilization and Deserialization Of Binary Tree.java N/A Java [] 163 Shortest Word Distance.java Easy Java [] 164 Single Number II.java N/A Java [] 165 Single Number III.java N/A Java [] 166 Single Number.java Easy Java [] 167 Singleton.java N/A Java [] 168 Sliding Window Maximum.java N/A Java [] 169 Sort Color.java N/A Java [] 170 Sort Colors II.java N/A Java [] 171 Sort Letters by Case.java N/A Java [] 172 Sort List.java N/A Java [] 173 Space Replacement.java N/A Java [] 174 Stone Game.java N/A Java [] 175 String Permutation.java Easy Java [] 176 String to Integer(atoi).java Easy Java [] 177 Strobogrammatic Number II.java Medium Java [] 178 Strobogrammatic Number.java Easy Java [] 179 StrStr.java N/A Java [] 180 Subarray Sum Closest.java Medium Java [] 181 Subarray Sum.java Easy Java [] 182 Subset.java Medium Java [] 183 Subsets II.java Medium Java [] 184 Subtree.java Easy Java [] 185 Summary Ranges.java N/A Java [] 186 Symmetric Binary Tree.java Easy Java [] 187 The Smallest Difference.java N/A Java [] 188 Top K Frequent Elements.java Medium Java [] 189 Top K Frequent Words.java Medium Java [] 190 Topological Sorting.java Medium Java [] 191 Total Occurrence of Target.java N/A Java [] 192 Trailing Zeros.java N/A Java [] 193 Tweaked Identical Binary Tree.java Easy Java [] 194 Two Lists Sum.java N/A Java [] 195 Two Strings Are Anagrams.java Easy Java [] 196 Ugly Number II.java N/A Java [] 197 Ugly Number.java Medium Java [] 198 Unique Binary Search Tree II.java Medium Java [BST] 199 Unique Characters.java N/A Java [] 200 Unique Word Abbreviation.java N/A Java [] 201 Valid Palindrome.java Easy Java [] 202 Valid Parentheses.java Easy Java [] 203 Valid Sudoku.java Easy Java [] 204 Word Break.java Medium Java [] 205 Word Ladder II.java Hard Java [] 206 Word Ladder.java Medium Java [] 207 Word Pattern.java Easy Java [] 208 Zigzag Iterator.java Medium Java [BST] 209 Find Anagram Mappings.java Easy Java [Hash Table] 210 Judge Route Circle.java Easy Java [String] 211 Island Perimeter.java Easy Java [Hash Table] 212 First Unique Character in a String.java Easy Java [Hash Table, String] 213 Power of Three.java Easy Java [Math] 214 Plus One.java Easy Java [Array, Math] 215 Power of Two.java Easy Java [Bit Manipulation, Math] 216 Reverse Vowels of a String.java Easy Java [String, Two Pointers] 217 Guess Number Higher or Lower.java Easy Java [Binary Search] 218 Encode and Decode TinyURL.java Medium Java [Hash Table, Math] 219 Wiggle Sort.java Medium Java [Array, Sort] 220 Queue Reconstruction by Height.java Medium Java [Greedy] 221 2 Sum.java Easy Java [Array, Hash Table] 222 2 Sum II - Input array is sorted.java Medium Java [Array, Binary Search, Two Pointers] 223 2 Sum II.java Medium Java [Array, Binary Search, Two Pointers] 224 Coin Change.java Medium Java [DP, Memoization, Sequence DP] 225 Maximum Product Subarray.java Medium Java [Array, DP] 226 3 Sum Closest.java Medium Java [Array, Two Pointers] 227 Triangle Count.java Medium Java [Array] 228 3 Sum.java Medium Java [Array, Two Pointers] 229 4 Sum.java Medium Java [Hash Table] 230 k Sum.java Hard Java [DP] 231 Longest Increasing Subsequence.java Medium Java [Binary Search, Coordinate DP, DP, Memoization, Sequence DP] 232 Unique Binary Search Tree.java Medium Java [BST, DP, Tree] 233 Trim a Binary Search Tree.java Easy Java [BST, Tree] 234 Unique Paths II.java Medium Java [Array, Coordinate DP, DP] 235 Bomb Enemy.java Medium Java [Coordinate DP, DP] 236 3 Sum Smaller.java Medium Java [Array, Two Pointers] 237 Array Partition I.java Easy Java [Array] 238 1-bit and 2-bit Characters.java Easy Java [Array] 239 Non-decreasing Array.java Easy Java [Array] 240 Max Consecutive Ones.java Easy Java [Array] 241 Find All Numbers Disappeared in an Array.java Easy Java [Array] 242 Maximum Average Subarray I.java Easy Java [Array] 243 Largest Number At Least Twice of Others.java Easy Java [Array] 244 Toeplitz Matrix.java Easy Java [Array] 245 Sum of Two Integers.java Easy Java [Bit Manipulation] 246 Swap Bits.java Easy Java [Bit Manipulation] 247 Update Bits.java Medium Java [Bit Manipulation] 248 Maximum XOR of Two Numbers in an Array.java Medium Java [Bit Manipulation, Trie] 249 Perfect Squares.java Medium Java [BFS, DP, Math, Partition DP] 250 Backpack VI.java Medium Java [Backpack DP, DP] 251 Copy Books.java Hard Java [Binary Search, DP, Partition DP] 252 Valid Perfect Square.java Review Java [Binary Search, Math] 253 Intersection of Two Arrays II.java Easy Java [Binary Search, Hash Table, Sort, Two Pointers] 254 Longest Palindromic Subsequence.java Medium Java [DP, Range DP] 255 Scramble String.java Hard Java [DP, Range DP, String] 256 Binary Search Tree Iterator.java Medium Java [BST, Design, Stack, Tree] 257 Flatten Nested List Iterator.java Medium Java [Design, Stack] 258 Best Time to Buy and Sell Stock with Cooldown.java Medium Java [DP] 259 Find Peak Element.java Medium Java [Array, Binary Search] 260 Longest Common Subsequence.java Medium Java [DP, Double Sequence DP] 261 Interleaving String.java Hard Java [DP, String] 262 Letter Combinations of a Phone Number.java Medium Java [Backtracking, String] 263 Edit Distance.java Hard Java [DP, Double Sequence DP, String] 264 Distinct Subsequences.java Hard Java [DP, String] 265 Regular Expression Matching.java Review Java [Backtracking, DP, String] 266 Majority Element.java Easy Java [Array, Bit Manipulation, Divide and Conquer] 267 Wildcard Matching.java Hard Java [Backtracking, DP, Greedy, String] 268 Ones and Zeroes.java Hard Java [DP] 269 Pow(x,n).java Medium Java [Binary Search, Math] 270 Word Break II.java Review Java [Backtracking, DP] 271 Nested List Weight Sum.java Easy Java [DFS] 272 Same Tree.java Easy Java [DFS, Tree] 273 Convert Sorted Array to Binary Search Tree.java Easy Java [DFS, Tree] 274 Binary Tree Maximum Path Sum.java Review Java [DFS, Tree] 275 Construct Binary Tree from Inorder and Preorder Traversal.java Medium Java [Array, DFS, Tree] 276 Path Sum.java Easy Java [DFS, Tree] 277 Add Binary.java Easy Java [Math, String] 278 Add Digits.java Easy Java [Math] 279 Add Two Numbers.java Medium Java [Linked List, Math] 280 Add Two Numbers II.java Medium Java [Linked List] 281 Balanced Binary Tree.java Medium Java [DFS, Tree] 282 Valid Anagram.java Easy Java [Hash Table, Sort] 283 Populating Next Right Pointers in Each Node.java Medium Java [DFS, Tree] 284 Validate Binary Search Tree.java Medium Java [BST, DFS, Tree] 285 Convert Sorted List to Binary Search Tree.java Medium Java [DFS, Linked List] 286 Flatten Binary Tree to Linked List.java Medium Java [Binary Tree, DFS] 287 Binary Tree Paths.java Easy Java [Binary Tree, DFS] 288 Minimum Size Subarray Sum.java Medium Java [Array, Binary Search, Two Pointers] 289 Clone Graph.java Medium Java [BFS, DFS, Graph] 290 Longest Substring Without Repeating Characters.java Medium Java [Hash Table, String, Two Pointers] 291 Minimum Window Substring.java Hard Java [Hash Table, String, Two Pointers] 292 Linked List Cycle.java Easy Java [Linked List, Two Pointers] 293 Remove Nth Node From End of List.java Medium Java [Linked List, Two Pointers] 294 Longest Substring with At Most K Distinct Characters.java Medium Java [Hash Table, String] 295 Linked List Cycle II.java Medium Java [Linked List, Two Pointers] 296 Kth Smallest Number in Sorted Matrix.java Medium Java [Binary Search, Heap] 297 Find Minimum in Rotated Sorted Array.java Medium Java [Array, Binary Search] 298 Find Minimum in Rotated Sorted Array II.java Hard Java [Array, Binary Search] 299 Connecting Graph.java Medium Java [Union Find] 300 Connecting Graph II.java Medium Java [Union Find] 301 Connecting Graph III.java Medium Java [Union Find] 302 Number of Islands.java Medium Java [BFS, DFS, Union Find] 303 Number of Islands II.java Hard Java [Union Find] 304 Graph Valid Tree.java Medium Java [BFS, DFS, Graph, Union Find] 305 Surrounded Regions.java Review Java [BFS, DFS, Union Find] 306 Implement Trie.java Medium Java [Design, Trie] 307 Add and Search Word.java Medium Java [Backtracking, Design, Trie] 308 Word Search II.java Hard Java [Backtracking, DFS, Trie] 309 Word Search.java Medium Java [Array, Backtracking] 310 Word Squares.java Hard Java [Backtracking, Trie] 311 Trapping Rain Water.java Hard Java [Array, Stack, Two Pointers] 312 Trapping Rain Water II.java Hard Java [BFS, Heap] 313 Data Stream Median.java Hard Java [Design, Heap] 314 Sliding Window Median.java Hard Java [Design, Heap] 315 Min Stack.java Easy Java [Design, Stack] 316 Implement Queue using Stacks.java Easy Java [Design, Stack] 317 Expression Expand.java Medium Java [DFS, Divide and Conquer, Stack] 318 Largest Rectangle in Histogram.java Hard Java [Array, Monotonous Stack, Stack] 319 Maximum Binary Tree.java Medium Java [Stack, Tree] 320 Reverse Integer.java Easy Java [Math] 321 Swap Nodes in Pairs.java Medium Java [Linked List] 322 Find Peak Element II.java Hard Java [Binary Search, DFS, Divide and Conquer] 323 Sqrt(x).java Easy Java [Binary Search, Math] 324 First Bad Version.java Easy Java [Binary Search] 325 Wood Cut.java Medium Java [Binary Search] 326 Find the Duplicate Number.java Medium Java [Array, Binary Search, Two Pointers] 327 Palindrome Pairs.java Hard Java [Hash Table, String, Trie] 328 Game of Life.java Medium Java [Array] 329 Maximum Average Subarray II.java Review Java [Array, Binary Search] 330 Meeting Rooms.java Easy Java [Sort, Sweep Line] 331 Number of Airplane in the sky.java Medium Java [Array, Interval, Sort, Sweep Line] 332 Meeting Rooms II.java Medium Java [Greedy, Heap, Sort, Sweep Line] 333 Building Outline.java Review Java [Binary Indexed Tree, Divide and Conquer, Heap, Segment Tree, Sweep Line] 334 Unique Path.java Medium Java [Array, Coordinate DP, DP] 335 Maximal Rectangle.java Hard Java [Array, DP, Hash Table, Stack] 336 Maximal Square.java Medium Java [Coordinate DP, DP] 337 Longest Increasing Path in a Matrix.java Hard Java [DFS, DP, Memoization, Topological Sort] 338 Coins in a Line.java Medium Java [DP, Game Theory, Greedy] 339 Coins in a Line II.java Medium Java [Array, DP, Game Theory, Memoization, MiniMax] 340 Binary Tree Inorder Traversal.java Easy Java [Hash Table, Stack, Tree] 341 Path Sum II.java Easy Java [DFS, Tree] 342 Binary Tree Postorder Traversal.java Medium Java [Stack, Tree, Two Stacks] 343 Change to Anagram.java Easy Java [String] 344 Classical Binary Search.java Easy Java [Binary Search] 345 Climbing Stairs.java Easy Java [DP, Memoization, Sequence DP] 346 Coins in a Line III.java Hard Java [Array, DP, Game Theory, Interval DP, Memoization] 347 Closest Binary Search Tree Value.java Easy Java [BST, Binary Search, Tree] 348 Compare Version Numbers.java Medium Java [String] 349 Count Complete Tree Nodes.java Medium Java [Binary Search, Tree] 350 Course Schedule.java Medium Java [BFS, DFS, Graph, Topological Sort] 351 Course Schedule II.java Medium Java [BFS, DFS, Graph, Topological Sort] 352 Alien Dictionary.java Hard Java [BFS, Backtracking, DFS, Graph, Topological Sort] 353 Binary Tree Preorder Traversal.java Easy Java [BFS, DFS, Stack, Tree] 354 Closest Number in Sorted Array.java Easy Java [Binary Search] 355 Complete Binary Tree.java Easy Java [BFS, DFS, Tree] 356 Compare Strings.java Easy Java [String] 357 Contains Duplicate.java Easy Java [Array, Hash Table] 358 Contains Duplicate II.java Easy Java [Array, Hash Table] 359 Contains Duplicate III.java Medium Java [BST] 360 Burst Balloons.java Hard Java [DP, Divide and Conquer, Memoization, Range DP] 361 Nim Game.java Easy Java [Brainteaser, DP, Game Theory] 362 Convert Integer A to Integer B.java Easy Java [Bit Manipulation] 363 Cosine Similarity.java Easy Java [Basic Implementation] 364 Count 1 in Binary.java Easy Java [Bit Manipulation] 365 Count and Say.java Easy Java [Basic Implementation, String] 366 One Edit Distance.java Medium Java [String] 367 K Edit Distance.java Hard Java [DP, Double Sequence DP, Trie] 368 Jump Game.java Medium Java [Array, DP, Greedy] 369 Coin Change 2.java Medium Java [DP, Sequence DP] 370 Paint House.java Easy Java [DP, Sequence DP] 371 Decode Ways.java Medium Java [DP, Partition DP, String] 372 Longest Continuous Increasing Subsequence.java Easy Java [Array, Coordinate DP, DP] 373 Minimum Path Sum.java Medium Java [Array, Coordinate DP, DP] 374 Counting Bits.java Medium Java [Bit Manipulation, Bitwise DP, DP] 375 Continuous Subarray Sum.java Medium Java [Coordinate DP, DP, Math] 376 House Robber.java Easy Java [DP, Sequence DP] 377 House Robber II.java Medium Java [DP, Sequence DP] 378 House Robber III.java Medium Java [DFS, DP, Status DP, Tree] 379 Paint House II.java Hard Java [DP, Sequence DP] 380 Best Time to Buy and Sell Stock I.java Easy Java [Array, DP, Sequence DP] 381 Best Time to Buy and Sell Stock II.java Easy Java [Array, DP, Greedy, Sequence DP] 382 Best Time to Buy and Sell Stock III .java Hard Java [Array, DP, Sequence DP] 383 Best Time to Buy and Sell Stock IV.java Hard Java [DP, Sequence DP] 384 Russian Doll Envelopes.java Hard Java [Binary Search, Coordinate DP, DP] 385 Jump Game II.java Hard Java [Array, Coordinate DP, DP, Greedy] 386 Palindrome Partitioning.java Medium Java [Backtracking, DFS] 387 Permutation in String.java Medium Java [Two Pointer] 388 Permutations II.java Medium Java [Backtracking] 389 Shuffle an Array.java Medium Java [Permutation] 390 Find All Anagrams in a String.java Easy Java [Hash Table] 391 Group Anagrams.java Medium Java [Hash Map, String] 392 Backpack.java Medium Java [Backpack DP, DP] 393 Backpack II.java Medium Java [Backpack DP, DP] 394 Backpack V.java Medium Java [Backpack DP, DP] 395 Count Primes.java Easy Java [Hash Table, Math] 396 Delete Node in a Linked List.java Easy Java [Linked List] 397 Excel Sheet Column Number.java Easy Java [Math] 398 Excel Sheet Column Title.java Easy Java [Math] 399 Flip Game.java Easy Java [String] 400 Flip Game II.java Review Java [DFS, backtracking] 401 Expression Tree Build.java Hard Java [Binary Tree, Expression Tree, Stack] 402 Expression Evaluation.java Hard Java [Binary Tree, DFS, Expression Tree, Stack] 403 Convert Expression to Polish Notation.java Hard Java [Binary Tree, DFS, Expression Tree, Stack] 404 Convert Expression to Reverse Polish Notation.java Hard Java [Binary Tree, DFS, Expression Tree, Stack] 405 Evaluate Reverse Polish Notation.java Medium Java [Stack] 406 Decode Ways II.java Hard Java [DP, Partition DP] 407 Palindrome Partitioning II.java Hard Java [DP, Partition DP] 408 Backpack III.java Hard Java [Backpack DP, DP]