c语言sscanf函数的用法是什么
252
2022-10-19
剑指Offer之Java算法习题精讲排列与N叉树
题目一
解法
class Solution {
LinkedList> ans = new LinkedList<List
public List> permute(int[] nums) {
LinkedList
boolean[] bo = new boolean[nums.length];
method(nums,bo,list);
return ans;
}
public void method(int[] nums,boolean[] bo ,LinkedList
if(list.size()==nums.length){
ans.add(new LinkedList(list));
return;
}
for(int i = 0;i if(bo[i]){ continue; } list.afoaXtKyvyQdd(nums[i]); bo[i] = truehttp://; method(nums,bo,list); list.removeLast(); bo[i] = false; } } } 题目二 解法 /* // Definition for a Node. class Node { public int val; public List public Node() {} public Node(int _val) { val = _val; } public Node(int _val, List val = _val; children = _children; } }; */ class Solution { public int maxDepth(Node root) { if(root==null){ return 0; } int maxChildDepth = 0; for(int i = 0;i int childDepth = maxDepth(root.children.get(i)); maxChildDepth = Math.max(maxChildDepth, childDepth); } return maxChildDepth+1; } }
if(bo[i]){
continue;
}
list.afoaXtKyvyQdd(nums[i]);
bo[i] = truehttp://;
method(nums,bo,list);
list.removeLast();
bo[i] = false;
}
}
}
题目二
解法
/*
// Definition for a Node.
class Node {
public int val;
public List
public Node() {}
public Node(int _val) {
val = _val;
}
public Node(int _val, List
val = _val;
children = _children;
}
};
*/
class Solution {
public int maxDepth(Node root) {
if(root==null){
return 0;
}
int maxChildDepth = 0;
for(int i = 0;i int childDepth = maxDepth(root.children.get(i)); maxChildDepth = Math.max(maxChildDepth, childDepth); } return maxChildDepth+1; } }
int childDepth = maxDepth(root.children.get(i));
maxChildDepth = Math.max(maxChildDepth, childDepth);
}
return maxChildDepth+1;
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~