剑指Offer之Java算法习题精讲排列与N叉树
更新时间:2022年03月18日 11:10:59 作者:明天一定.
跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
题目一

解法
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;
}
}
到此这篇关于剑指Offer之Java算法习题精讲排列与N叉树的文章就介绍到这了,更多相关Java N叉树内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
在deepin上如何使用Fleet开发SpringBoot 3.0.0项目
这篇文章主要介绍了在deepin上使用Fleet开发SpringBoot 3.0.0项目的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-09-09
Java泛型枚举Annotation接口详细解读与Eclipse发展
这篇文章主要给大家介绍了关于Java中方法使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-08-08
IDEA运行Java项目报错java: 错误: 不支持发行版本 xx的解决方法
这篇文章主要介绍了IDEA运行Java项目报错java: 错误: 不支持发行版本 xx的解决方法,文中有详细的解决方案供大家参考,对大家解决问题有一定的帮助,需要的朋友可以参考下2025-04-04
Java通过freemarker生成Word文档导出的方式详解
本文详细介绍了如何使用FreeMarker模板生成Word文档,包括制作FTL模板、在Java中使用FreeMarker生成文档以及处理动态数据和合并单元格等内容,需要的朋友可以参考下2025-03-03


最新评论