Java N叉树
明天一定. 人气:0题目一
解法
class Solution { LinkedList<List<Integer>> ans = new LinkedList<List<Integer>>(); public List<List<Integer>> permute(int[] nums) { LinkedList<Integer> list = new LinkedList<Integer>(); boolean[] bo = new boolean[nums.length]; method(nums,bo,list); return ans; } public void method(int[] nums,boolean[] bo ,LinkedList<Integer> list){ if(list.size()==nums.length){ ans.add(new LinkedList(list)); return; } for(int i = 0;i<nums.length;i++){ if(bo[i]){ continue; } list.add(nums[i]); bo[i] = true; method(nums,bo,list); list.removeLast(); bo[i] = false; } } }
题目二
解法
/* // Definition for a Node. class Node { public int val; public List<Node> children; public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List<Node> _children) { val = _val; children = _children; } }; */ class Solution { public int maxDepth(Node root) { if(root==null){ return 0; } int maxChildDepth = 0; for(int i = 0;i<root.children.size();i++){ int childDepth = maxDepth(root.children.get(i)); maxChildDepth = Math.max(maxChildDepth, childDepth); } return maxChildDepth+1; } }
加载全部内容