剑指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叉树内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot + WebSocket 实现答题对战匹配机制案例详解
这篇文章主要介绍了SpringBoot + WebSocket 实现答题对战匹配机制,分别为每个用户拟定四种在线状态,通过流程图给大家展示,需要的朋友可以参考下2021-05-05Mybatis之collection标签中javaType和ofType属性的区别说明
这篇文章主要介绍了Mybatis之collection标签中javaType和ofType属性的区别说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
最新评论