摘要: https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca 构造函数:new ArrayList(al)把al的所有值复制到 new ArrayList()里,并且 new ArrayList()的值不会随着al的改变而改变。 阅读全文
posted @ 2019-09-25 23:29 dodoBehind 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 复用left[],【时间击败73.33%】——》【时间击败99.72%】 【内存击败36.17%】——》【内存击败94.23%】 dfs(r)返回值=new long[]{包括r节点的子树所有节点的最小值,包括r节点的子树所有节点的最大值} 阅读全文
posted @ 2019-09-25 17:03 dodoBehind 阅读(202) 评论(0) 推荐(0) 编辑
摘要: public List<Integer> inorderTraversal(TreeNode root) { ArrayList<Integer>al=new ArrayList<>(); if (root==null)return al; al.addAll(inorderTraversal(root.left)); al.add(root.val); al.addAll(inorderTrav 阅读全文
posted @ 2019-09-25 11:53 dodoBehind 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1 public TreeNode pruneTree(TreeNode root) { 2 dfs(root,null,-1); 3 return root; 4 } 5 6 public void dfs(TreeNode cur, TreeNode fa, int left) { 7 if (cur == null) return; 8 if (check(cur)) { 9 if (lef 阅读全文
posted @ 2019-09-25 11:35 dodoBehind 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 1 public List> printTree(TreeNode root) { 2 ArrayList> al = new ArrayList(); 3 if (root == null) return al; 4 if (root.left == null && root.right == null) { 5 ... 阅读全文
posted @ 2019-09-25 11:00 dodoBehind 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 数组替代队列,从超时到击败70%,用tree[0]替代new一个新的ArrayList,上升10% 思想是遍历一遍,删除度为1的节点,答案只可能为1或2 阅读全文
posted @ 2019-09-25 09:58 dodoBehind 阅读(184) 评论(0) 推荐(0) 编辑