作者s07021990 (humor)
看板Grad-ProbAsk
標題Re: [理工] binary tree
時間Wed Jan 16 18:00:07 2013
※ 引述《chenshengyua (阿丸)》之銘言:
: 各位大大
: 我想問一題頗重要的BT
: 題目是這樣
: Write a recursive program to check whether a given binary tree is symmetric with its structure(you don't need to check the values in the nodes)?
: 意思是用一個遞迴程式驗證二元樹是不是對稱!
: 小弟我有兩個想法
: 1.用兩個指標去驗左右子樹!
: 2.用level order traversal去算左右子樹的node數是否一樣!
: 但想歸想,這兩個想法我寫到一半都寫不下去!
: 希望高手可以有答案讓我參考參考!
: Wiki和古歌我都找不到!
: 我只剩這題這份就over了!
: 很需要這題呀!!拜託各位高手了!
Boolean symmetric(node*s,node*r)
{
bool ans=false;
if(s==NULL&&r==NULL) ans=true;//如果s跟r都是null表示樹相同
else if(s!=NULL&&r!=NULL)//如果都不是NUll的話
{
if(symmetric(s->data==r->data))//就檢查資料是否相同
{
if(symmetric(s->left,r->left)==true)//相同就開始檢查右子樹
ans=symmetric(s->right,r->right); //左子樹
}
}
return ans;//回傳答案
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.181.98.101
→ chenshengyua:大大~謝謝你的回答~我想跟你討論一下~因為他不討論 01/16 20:31
→ chenshengyua:data..所以~把data改node你看如何??還是說您的data是 01/16 20:31
→ chenshengyua:指node個數??!! 01/16 20:31
→ s07021990:不看的話把s->data那行砍掉就可以了 01/16 21:06
推 chenshengyua:感謝大大!!!我懂你的意思了!!!!謝謝你大大!! 01/16 22:18