面試題 分層遍歷二叉樹

2021-09-06 02:51:13 字數 954 閱讀 5422

程式設計之美上的題目。

問題1:給定一棵二叉樹,要求按分層遍歷該二叉樹,即從上到下按層次訪問該二叉樹(每一行將單輸出一行),每一層要求訪問的順序為從左向右,並將節點依次編號。

問題2:寫乙個函式,列印二叉樹中某層次的節點(從左向右),其中根結點為第1層。

#include

<

iostream

>

#include

<

queue

>

using

namespace

std;

struct

tnode

tnode(

inti):leftchild(null),rightchild(null)

};//

**之美上的。輸出第level層的所有元素

void

printnodeatlevel(tnode

*root,

intlevel)

if(level==1

)printnodeatlevel(root

->

leftchild,level-1

);printnodeatlevel(root

->

rightchild,level-1

);}intmain()

cout

<<

temp

->

value

<<""

;if(temp

->

leftchild

!=null)

if(temp

->

rightchild

!=null)

}cout

<<

endl;

//printnodeatlevel(node1,3);

return0;

}

分層遍歷二叉樹

include include struct node struct node inittree for i 0 i 2 i tree 3 lchild tree 7 tree 5 rchild tree 8 return tree 0 int printnodeatlevel struct nod...

分層遍歷二叉樹

程式設計之美 3.10 p252 給定一棵二叉樹,壓球按分層遍歷該二叉樹,即從上到下按層次訪問該二叉樹 每一層將單獨輸出一行 每一層要求訪問的順序為從左到右,並將節點依次編號。分層輸出二叉樹。struct nodevoid printnodebylevel node root 輸出為 1 2 34 ...

二叉樹面試題

1.求二叉樹節點個數 可以使用遞迴解決。將問題分解為求根節點 左子樹的節點數 右節點的節點數。實現 public size t size private size t size node root 2.求頁節點個數 頁節點 左右子樹都為空的節點被稱為頁節點,使用遞迴遍歷,當碰到乙個左右子樹為空的節點...