微軟100題 求二叉樹中節點的最大距離

2021-06-25 20:07:11 字數 855 閱讀 2757

如果我們把二叉樹看成乙個圖,

父子節點之間的連線看成是雙向的,

我們姑且定義"距離"為兩節點之間邊的個數。

寫乙個程式,

求一棵二叉樹中相距最遠的兩個節點之間的距離。

package test;

public class node

package test;

public class result

package test;

/** * 求二叉樹中節點的最大距離(2014-09-20 16:20)

* @author zealot

* */

public class main

result lhs = getmaximumdistance(root.pleft);

result rhs = getmaximumdistance(root.pright);

result result = new result();

result.nmaxdepth = max(lhs.nmaxdepth + 1, rhs.nmaxdepth + 1);

result.nmaxdistance = max(max(lhs.nmaxdistance, rhs.nmaxdistance), lhs.nmaxdepth + rhs.nmaxdepth + 2);

return result;

}private int max(int a, int b) else

return max;

}public static void main(string args)

}

微軟100題(11) 二叉樹中節點的最大距離

題目 求二叉樹中節點的最大距離.如果我們把二叉樹看成乙個圖,父子節點之間的連線看成是雙向的,我們姑且定義 距離 為兩節點之間邊的個數。寫乙個程式,求一棵二叉樹中相距最遠的兩個節點之間的距離 我覺得相隔最遠的 應該是左子樹最深的 和 右子樹最深的結點之間 所以轉變為求左子樹深度 和 右子樹深度 最長距...

面試100題 11 求二叉樹中節點的最大距離

題目 寫乙個程式,求一棵二叉樹中相距最遠的兩個節點之間的距離。如果我們把二叉樹看成乙個圖,父子節點之間的連線看成是雙向的,我們姑且定義 距離 為兩節點之間邊的個數。分析 把最深的左子樹距離加上最深的右子樹距離就是二叉樹中兩個節點的最大距離。解一 getmaxpathfrombst title 11....

(二叉樹基礎題)求二叉樹高度

本題要求給定二叉樹的高度。函式介面定義 int getheight bintree bt 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 要求函式返回給定二叉樹bt的高度值。裁判測...