分析(遞迴):
空樹,則查詢失敗,返回 false
當前結點為所要查詢的值,輸出結果,返回 true
以上條件不滿足,則向左找或向右找,找著了說明當前結點是根到x路徑上的點,輸出並返回 true
左右都找不到,查詢失敗,無此結點,返回 false
bool
printpath
(node* root,
int x)if(
printpath
(root-
>left, x)
||printpath
(root-
>right, x)
)return
false
;}
完整實現:
#include
using
namespace std;
struct node };
int pre=
, in=
;node*
create
(int prel,
int prer,
int inl,
int inr)
// 輸出從根節點到x的路徑
bool
printpath
(node* root,
int x)if(
printpath
(root-
>left, x)
||printpath
(root-
>right, x)
)return
false;}
intmain()
輸出結果:
8 5 4 1
二叉樹基本操作(輸出所有葉子節點到根節點的路徑)
功能 1 輸出二叉樹的所有葉子節點 2 輸出所有從葉子節點到根節點的路徑 3 輸出 2 中最長的一條路徑 日期 2015 11 28 include include typedef struct binodebinode,bitree void longestpath bitree t,char p...
二叉樹專題 輸出根節點到所有葉子節點的路徑
given a binary tree,return all root to leaf paths.for example,given the following binary tree 1 2 3 5 all root to leaf paths are 1 2 5 1 3 新建乙個名為array...
輸出所有根節點到葉子節點的長度 以二叉排序樹為例
cpp include include using namespace std 節點 struct node 二元查詢樹 class list void list m print node p,int value 向左右方向遞迴 m print p lchild,value m print p rc...