九度OJ 1350 二叉樹的深度

2021-07-11 17:45:46 字數 831 閱讀 1905

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。

第一行輸入有n,n表示結點數,結點號從1到n。根結點為1。 n <= 10。

接下來有n行,每行有兩個個整型a和b,表示第i個節點的左右孩子孩子。a為左孩子,b為右孩子。當a為-1時,沒有左孩子。當b為-1時,沒有右孩子。

輸出乙個整型,表示樹的深度。

3

2 3

-1 -1

-1 -1

#include

#include

#include

#include

using

namespace

std;

struct treenode;

treenode tree[20];

int depthtree(int x, int n)

int leftdepth = depthtree(tree[x].lchild, n);

int rightdepth = depthtree(tree[x].rchild, n);

return leftdepth >= rightdepth ? leftdepth+1 : rightdepth+1;

}int main()

int depth = depthtree(1, n);

cout

<< depth << endl;

}return

0;}

九度OJ 1113 二叉樹

題目1113 二叉樹 時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 2599 解決 778 題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13...

九度OJ 1113 二叉樹

做本題的時候,第一次用思路最簡單但是時空複雜度較差的遞迴去遍歷其子樹,結果tle。於是乎只能改用數學計算的方法,去逐層累加。故本題實際上考察點是 完全二叉樹節點個數的計算 題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子...

九度OJ 1113 二叉樹

題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...