DFS
文章平均质量分 68
再见小小ronnie
这个作者很懒,什么都没留下…
展开
-
Leetcode 100. Same Tree
public class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if (p == null && q == null) return true; // not all p and q are null which means one of them is null the转载 2017-01-15 11:06:59 · 128 阅读 · 0 评论 -
Leetcode 47. Permutations II
public class Solution { public List> permuteUnique(int[] nums) { Arrays.sort(nums); List> ret = new ArrayList<>(); List curr = new ArrayList<>(); boolean[]原创 2017-02-10 05:47:53 · 142 阅读 · 0 评论 -
Leetcode 46. Permutations
/** * e.g. nums = 1, 2, 3 * bt() * tmp(1) * bt() * tmp(1, 2) * bt() * tmp(1, 2, 3) * bt() * add(tmp) return * tmp.remove(2) * i == 2 end return * remove(1)原创 2017-02-10 05:52:57 · 166 阅读 · 0 评论 -
Leetcode 129. Sum Root to Leaf Numbers
public class Solution { public int sumNumbers(TreeNode root) { return helper(root, 0); } public static int helper(TreeNode r, int tmp) { if (r == null) return 0;原创 2017-01-20 01:29:27 · 146 阅读 · 0 评论 -
Leetcode 116. Populating Next Right Pointers in Each Node
public class Solution { public void connect(TreeLinkNode root) { if (root == null) return; helper(root.left, root.right); } public static void helper(TreeLinkNode l, T原创 2017-01-20 04:23:42 · 137 阅读 · 0 评论 -
Leetcode 113. Path Sum II
public class Solution { public List> pathSum(TreeNode root, int sum) { List> ret = new ArrayList<>(); helper(root, sum, 0, new ArrayList<>(), ret); return ret; }原创 2017-01-20 10:20:26 · 141 阅读 · 0 评论 -
Leetcode 17. Letter Combinations of a Phone Number
public class Solution { public List letterCombinations(String digits) { String[] mapping = {"", "", "abc", "def", "ghi", "jkl", "mon", "pqrs", "tuv", "wxyz"}; List res = new ArrayL原创 2017-03-31 02:06:58 · 240 阅读 · 0 评论 -
Leetcode 199. Binary Tree Right Side View
public class Solution { public List rightSideView(TreeNode root) { List ret = new ArrayList<>(); // the depth of root is 0 rightView(0, root, ret); return ret;原创 2017-01-20 11:33:08 · 206 阅读 · 0 评论 -
Leetcode 565. Array Nesting
"""max = Max(current_max, max)Use a flag array to mark if current node has been visited before.If it is visited, then we can skip it. Complexity is O(n) as we only go through the array once."""...原创 2018-09-10 03:20:46 · 146 阅读 · 0 评论 -
Leetcode 131. Palindrome Partitioning
DFS non-DP solution.public class Solution { public List> partition(String s) { List> ret = new ArrayList<>(); List curr = new ArrayList<>(); dfs(0, s, curr, ret)原创 2017-02-10 04:46:08 · 171 阅读 · 0 评论 -
Partition Problem
Given a set of positive integers, find if the set can be partitioned into two subsets such that the sum of these two subsets are equal. DFS approach. Sort the array in an increasing order. Create tw原创 2017-01-19 02:15:26 · 904 阅读 · 0 评论 -
Leetcode 257. Binary Tree Paths
public class Solution { public List binaryTreePaths(TreeNode root) { List ret = new ArrayList<>(); helper(root, ret, ""); return ret; } public static void help原创 2017-01-15 13:44:27 · 162 阅读 · 0 评论 -
Leetcode 112. Path Sum
public class Solution { public boolean hasPathSum(TreeNode root, int sum) { int tmp = 0; return helper(root, tmp, sum); } // inorder traversing public static boole原创 2017-01-16 08:42:11 · 141 阅读 · 0 评论 -
Leetcode 110. Balanced Binary Tree
public class Solution { public boolean isBalanced(TreeNode root) { // do an inorder traverse if (root == null) return true; if (Math.abs(getHeight(root.left) - getHeight(r原创 2017-01-16 09:06:08 · 135 阅读 · 0 评论 -
Leetcode 111. Minimum Depth of Binary Tree
public class Solution { public int minDepth(TreeNode root) { if (root == null) return 0; // take care of the trees that only have left or right child if (root.left == null)原创 2017-01-16 09:21:05 · 154 阅读 · 0 评论 -
Leetcode 337. House Robber III
Naive solution. There are many overlapping sub problems.e.g. if we rob(root), we need to know rob(left), rob(right), rob(left.left), rob(left.right), ...then, say if we want to rob(root.left), the原创 2017-01-18 03:20:42 · 134 阅读 · 0 评论 -
Leetcode 332. Reconstruct Itinerary
public class Solution { Map> flights; LinkedList path; public List findItinerary(String[][] tickets) { flights = new HashMap<>(); path = new LinkedList<>(); for (转载 2017-01-18 05:09:40 · 197 阅读 · 0 评论 -
Leetcode 473. Matchsticks to Square
More information. public class Solution { public boolean makesquare(int[] nums) { if (nums == null || nums.length < 4) return false; int sum = 0; for (int num : nums) sum +=转载 2017-01-18 11:39:37 · 202 阅读 · 0 评论 -
Leetcode 200. Number of Islands
public class Solution { public int numIslands(char[][] grid) { int row = grid.length; if (row == 0) return 0; int col = grid[0].length; int count = 0;原创 2017-01-18 10:35:55 · 150 阅读 · 0 评论 -
Leetcode 257. Binary Tree Paths
DFSclass Solution: """ @param root: the root of the binary tree @return: all root-to-leaf paths """ def binaryTreePaths(self, root): # write your code here if no...原创 2018-09-13 07:35:26 · 145 阅读 · 0 评论