二叉樹的所有路徑

2021-07-31 01:22:00 字數 1086 閱讀 5931

題目:

給一棵二叉樹,找出從根節點到葉子節點的所有路徑。

您在真實的面試中是否遇到過這個題?

yes

樣例給出下面這棵二叉樹:

1

/ \

2 3

\ 5

所有根到葉子的路徑為:

[

"1->2->5",

"1->3"

]

思路:這個題使用了引用,方便了很多,這道題也又寫了乙個函式,all(root,ss,to_string(root->val)); 在函式裡使用了遞迴。

**:/**

* definition of treenode:

* class treenode

* }*/

class solution  

void all(treenode *root,vector&str,string strpaths) 

if(root->left!=null) 

all(root->left,str,strpaths+"->"+to_string(root->left->val)); 

if(root->right!=null) 

all(root->right,str,strpaths+"->"+to_string(root->right->val)); 

} /*int top=-1;

//stackst;

vectoraa;

vectorss;

treenode *s[100];

string h,k;

while(root!=null||top!=-1)

h=to_string(s[0]->val);

for(int i=1;i<=top+1;i++)

aa.push_back(h);

h=k;

if(top!=-1)

}return aa;

}*/};

感想:我一開始利用了前序遍歷非遞迴演算法,寫了乙個程式,就是下面那個,老是不對,也改不對,就又換了個,確實這個方便了許多。

二叉樹的所有路徑

一 問題描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5 所有根到葉子的路徑為 1 2 5 1 3 二 解題思路 運用遞迴的思想查詢二叉樹的所有路徑,定義乙個向量用來儲存路徑,然後運用前序遍歷二叉樹,返回查詢的的路徑,在庫檔案string中,to str...

二叉樹的所有路徑

描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5 所有根到葉子的路徑為 1 2 5 1 3 解題思路 要找到二叉樹的所有路徑,就相當於從根節點出發一直到葉子節點。我們可以在遍歷的基礎之上完成這項操作,但是又有所不同。首先從根節點出發,先遍歷它的左子樹,直...

二叉樹的所有路徑

問題描述 給一棵二叉樹,找出從根節點到葉子節點的所有路徑。樣例 給出下面這棵二叉樹 1 2 3 5所有根到葉子的路徑為 1 2 5 1 3 解題思路 若二叉樹不為空,將節點新增到向量中,左右子樹進行遞迴,通過函式呼叫然後輸出。definition of treenode class treenode...