我有以下填充二叉樹(不是 BST)的代碼如何獲取樹的高度并將其連同其高度一起打???int[] values = new int[] {1, 2, 3, 4, 5};BinaryTree tree = new BinaryTree(values);class BinaryTree{ int value; BinaryTree left; BinaryTree right; public BinaryTree(int[] values) : this(values, 0) {} BinaryTree(int[] values, int index) { Load(this, values, index); } void Load(BinaryTree tree, int[] values, int index) { this.value = values[index]; if (index * 2 + 1 < values.Length) { this.left = new BinaryTree(values, index * 2 + 1); } if (index * 2 + 2 < values.Length) { this.right = new BinaryTree(values, index * 2 + 2); } } int getDepth() { //code to get height here }}
1 回答

吃雞游戲
TA貢獻1829條經(jīng)驗 獲得超7個贊
您需要遍歷所有節(jié)點并檢查高度;
depth = 1 + max(left.depth, right.depth)
無論如何,您需要檢查是否為空。
C#代碼:
return 1 + Math.Max(left?.getDepth() ?? 0, right?.getDepth() ?? 0)
- 1 回答
- 0 關(guān)注
- 157 瀏覽
添加回答
舉報
0/150
提交
取消