題目描述
給定一棵二叉樹和兩個不同的節點,求出他們到最近的公共祖先父節點的路徑。已知該二叉樹有n個節點,標號1..n。(n<100) 輸入
輸入:
第一行兩個整數x,y,表示需要求的節點;
以下若干行,每行兩個整數a和b,表示a的父節點是b。 輸出
x到y的路徑。
樣例輸入
9 72 13 2
4 25 3
8 59 5
6 47 4
樣例輸出
9 5 3 2 4 7program x26886;
const maxn=100;
var father,a,b:array[1..maxn] of integer;
x,y,root:integer;
procedure init;
var a,b:integer;
begin
readln(x,y);
while not eof do
begin
readln(a,b);
father[a]:=b;
end;
end;
procedure findroot;
var i,j:integer;
begin
i:=x;
while i<>0 do
begin
a[i]:=1;
i:=father[i];
end;
j:=y;
while a[j]<>1 do
j:=father[j];
root:=j;
end;
procedure finda(i:integer);
begin
if i<>root then
begin
write(i,' ');
finda(father[i]);
end;
end;
procedure findb(i:integer);
begin
if i<>root then
begin
findb(father[i]);
write(i,' ');
end;
end;
begin
init;
findroot;
finda(x);
write(root,' ');
findb(y);
end.
樹的路徑覆蓋
description 給一棵樹,用最少的路徑去覆蓋所有的邊,求 1 允許邊被重複覆蓋,2 不允許邊被重複覆蓋.input 第一行是組數t t 20 每組兩行,第一行是n 1 n 10 5 第二行是n 1個數 0 based 第i個數x i 表示有一條邊 x i i 1 0 i n 2 output...
樹的路徑長度
樹的路徑長度是指 從樹根到每乙個節點的路徑長度的總和 相同節點個數下,完全二叉樹就是這種路徑長度最短的二叉樹,注意這是對於二叉樹而言。注意上述是說從樹根到每乙個節點的路徑長的總和,如下圖 來自這 該樹的路徑長度為 ab ab bd ac ac ce ac cf 然而事實上,如果單說路徑長度而不帶權,...
Leetcode 樹的路徑遍歷
給定乙個僅包含數字0 9的二叉樹,每一條從根節點到葉子節點的路徑都可以用乙個數字表示。例如根節點到葉子節點的一條路徑是1 2 3,那麼這條路徑就用123來代替。找出根節點到葉子節點的所有路徑表示的數字之和 例如 1 2 3根節點到葉子節點的路徑1 2用數字12代替 根節點到葉子節點的路徑1 3用數字...