二叉樹節點間的最大距離問題

2021-09-09 09:11:49 字數 859 閱讀 8960

【題目】二叉樹中,乙個節點可以往上走和往下走,那麼從節點a總能走到節點b。節點a走到節點b的距離為:a走到b最短路徑上的節點個數。求一棵二叉樹上的最遠距離。

public

class

maxdistanceintree

}public

static

class

returntype

}public

static returntype process

(node head)

returntype leftreturntype =

process

(head.left)

; returntype rightreturntype =

process

(head.right)

;int includeheaddistance = leftreturntype.h +

1+ rightreturntype.h;

int p1 = leftreturntype.maxdistance;

int p2 = rightreturntype.maxdistance;

int resultdistance = math.

max(math.

max(p1, p2)

, includeheaddistance)

;int hitself = math.

max(leftreturntype.h, leftreturntype.h)+1

;return

newreturntype

(resultdistance, hitself);}

}

二叉樹節點間的最大距離

問題 從二叉樹節點 出發,可以向上或者向下走,但沿途的節點只能經過一次,當到達節點 時,路徑上的節點數叫做 到 的距離。基本思路 乙個以 為頭的樹上,最大的距離只可能來自以下三種情況 左子樹上的最大距離 右子樹上的最大距離 左子樹上離h.left最遠的距離 右子樹上離h.right最遠的距離 三個值...

二叉樹問題 二叉樹節點間的最大距離

從二叉樹的節點 a 出發,可以向上或者向下走,但沿途的節點只能經過一次,當到達節點 b 時,路徑上的節點數叫作 a 到 b 的距離。現在給出一棵二叉樹,求整棵樹上每對節點之間的最大距離。例如下圖二叉樹的節點間最大距離為節點5到節點7的距離為5。乙個以 為根節點的樹上,最大的距離只可能來自以下三種情況...

二叉樹節點的最大距離

程式設計之美3.10節。完整 如下 view code 1 include 2 include 3 include 4 include 5 include 6 include 7 using namespace std 89 struct node 1018 19 20void createtree...