演算法練習之二叉樹的最大深度,二叉樹的層次遍歷 II

2022-09-17 11:06:12 字數 2290 閱讀 6458

1.二叉樹的最大深度

給定乙個二叉樹,找出其最大深度。

二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。

說明: 葉子節點是指沒有子節點的節點。

示例:給定二叉樹[3,9,20,null,null,15,7]

3

/ \9 20

/ \

15 7

返回它的最大深度 3 。

j**a

/**

* definition for a binary tree node.

* public class treenode

* } */

class

solution

}

php

/*

* * definition for a binary tree node.

* class treenode

* } */

class

solution

}

簡化

/*

* * definition for a binary tree node.

* class treenode

* } */

class

solution

}

2.二叉樹的層次遍歷 ii

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。 (即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷)

例如:

給定二叉樹 [3,9,20,null,null,15,7],3/\

9 20

/\15 7返回其自底向上的層次遍歷為:

[ [15,7],[9,20],[3]

]

j**a

class

solution

return

lists;

}private

void func(list> lists,treenode root,int

level)

else

func(lists,root.left,level+1);

func(lists,root.right,level+1);

}}

treenode 

class

treenode

}

測試

import

j**a.util.list;

public

class

main

}

php

class

treenode

}class

solution

$lists =;

$lists = $this->func($lists, $root, 0);

for ($i = 0, $j = count($lists) - 1; $i

< $j; $i++)

return

$lists

; }

public

function func(&$lists, $root, $level = 0)

if (count($lists) == $level

) else

$this->func($lists, $root->left, $level + 1);

$this->func($lists, $root->right, $level + 1);

return

$lists

; }

}

測試

//

[3,9,20,null,null,15,7]

$root = new treenode(3);

$a1 = new treenode(9);

$a2 = new treenode(20);

$b1 = new treenode(15);

$b2 = new treenode(7);

$root->left = $a1

;$root->right = $a2

;$a2->left = $b1

;$a2->right = $b2

;$aa = new

solution();

$rs = $aa->levelorderbottom($root

);var_dump(json_encode($rs));

二叉樹之 二叉樹深度

二叉樹深度 獲取最大深度 public static int getmaxdepth treenode root 二叉樹寬度 使用佇列,層次遍歷二叉樹。在上一層遍歷完成後,下一層的所有節點已經放到佇列中,此時佇列中的元素個數就是下一層的寬度。以此類推,依次遍歷下一層即可求出二叉樹的最大寬度 獲取最大...

二叉樹的深度 二叉樹的深度 二叉樹最大寬度

題目 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點 含根 葉節點 形成樹的一條路徑,最長路徑的長度為樹的深度。例如 給定二叉樹 3,9,20,null,null,15,7 返回它的最大深度 3 根節點加上左右子樹的最大深度就是樹的最大深度。如下 class solution ...

演算法 二叉樹最大深度

給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回它的最大深度 3 遞迴 深度優先 遞迴到最底層後一層層返回,有節點返回1,沒節點返回零...