劍指Offer之Java算法習(xí)題精講排列與N叉樹(shù)
題目一

?解法
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;
}
}
到此這篇關(guān)于劍指Offer之Java算法習(xí)題精講排列與N叉樹(shù)的文章就介紹到這了,更多相關(guān)Java N叉樹(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java Swing最詳細(xì)基礎(chǔ)知識(shí)總結(jié)
這篇文章主要介紹了Java Swing最詳細(xì)基礎(chǔ)知識(shí)總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)Java Swing的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05
在deepin上如何使用Fleet開(kāi)發(fā)SpringBoot?3.0.0項(xiàng)目
這篇文章主要介紹了在deepin上使用Fleet開(kāi)發(fā)SpringBoot?3.0.0項(xiàng)目的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
Java泛型枚舉Annotation接口詳細(xì)解讀與Eclipse發(fā)展
這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08
IDEA運(yùn)行Java項(xiàng)目報(bào)錯(cuò)java: 錯(cuò)誤: 不支持發(fā)行版本 xx的解決方法
這篇文章主要介紹了IDEA運(yùn)行Java項(xiàng)目報(bào)錯(cuò)java: 錯(cuò)誤: 不支持發(fā)行版本 xx的解決方法,文中有詳細(xì)的解決方案供大家參考,對(duì)大家解決問(wèn)題有一定的幫助,需要的朋友可以參考下2025-04-04
使用Java Servlet生成動(dòng)態(tài)二維碼的實(shí)現(xiàn)步驟
在現(xiàn)代互聯(lián)網(wǎng)時(shí)代,二維碼廣泛應(yīng)用于各個(gè)領(lǐng)域,包括支付、認(rèn)證、信息傳遞等,在Web開(kāi)發(fā)中,通過(guò)Java Servlet生成動(dòng)態(tài)二維碼是一個(gè)常見(jiàn)的需求,本文將介紹如何使用Java Servlet結(jié)合Google的ZXing庫(kù)生成動(dòng)態(tài)二維碼,需要的朋友可以參考下2023-11-11
Java通過(guò)freemarker生成Word文檔導(dǎo)出的方式詳解
本文詳細(xì)介紹了如何使用FreeMarker模板生成Word文檔,包括制作FTL模板、在Java中使用FreeMarker生成文檔以及處理動(dòng)態(tài)數(shù)據(jù)和合并單元格等內(nèi)容,需要的朋友可以參考下2025-03-03
在JAVA?Web項(xiàng)目中動(dòng)態(tài)加載DLL/SO文件的方法
在JAVA?Web項(xiàng)目中,我們經(jīng)常需要調(diào)用一些第三方庫(kù)或者實(shí)現(xiàn)一些JAVA本身不支持的功能,這時(shí),我們可能會(huì)考慮使用JNI來(lái)調(diào)用DLL或SO文件,然而,因此,本文將介紹如何在JAVA?Web項(xiàng)目中動(dòng)態(tài)加載DLL/SO文件,需要的朋友可以參考下2024-12-12
詳談Array和ArrayList的區(qū)別與聯(lián)系
下面小編就為大家?guī)?lái)一篇詳談Array和ArrayList的區(qū)別與聯(lián)系。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06

