劍指Offer之Java算法習題精講排列與N叉樹
更新時間:2022年03月18日 11:10:59 作者:明天一定.
跟著思路走,之后從簡單題入手,反復去看,做過之后可能會忘記,之后再做一次,記不住就反復做,反復尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質的變化
題目一
?解法
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叉樹內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Fluent MyBatis實現(xiàn)動態(tài)SQL
MyBatis 令人喜歡的一大特性就是動態(tài) SQL。本文主要介紹了Fluent MyBatis實現(xiàn)動態(tài)SQL,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08Java中jdk1.8和jdk17相互切換實戰(zhàn)步驟
之前做Java項目時一直用的是jdk1.8,現(xiàn)在想下載另一個jdk版本17,并且在之后的使用中可以進行相互切換,下面這篇文章主要給大家介紹了關于Java中jdk1.8和jdk17相互切換的相關資料,需要的朋友可以參考下2023-05-05SpringBoot + WebSocket 實現(xiàn)答題對戰(zhàn)匹配機制案例詳解
這篇文章主要介紹了SpringBoot + WebSocket 實現(xiàn)答題對戰(zhàn)匹配機制,分別為每個用戶擬定四種在線狀態(tài),通過流程圖給大家展示,需要的朋友可以參考下2021-05-05Mybatis之collection標簽中javaType和ofType屬性的區(qū)別說明
這篇文章主要介紹了Mybatis之collection標簽中javaType和ofType屬性的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12