二叉樹專題 輸出根節點到所有葉子節點的路徑

2021-08-07 12:27:49 字數 927 閱讀 4258

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」]

新建乙個名為arraylistsingle的arraylist,存放遍歷過的路徑,採用前序遍歷的方式,每遍歷乙個子節點就將正在遍歷的節點存入arraylistsingle,每當從子節點遍歷返回時,例如上面題中給的例子裡從5返回2時,就將arraylistsingle的最後乙個元素,也就是剛遍歷過的子節點刪除,當發現正在遍歷的節點沒有子節點的時候,就說明走到了葉子節點位置,arraylistsingle裡存的就正好是一條從根節點到該葉子的路徑,這時就將arraylistsingle裡的路徑以string形式存到最終結果list裡。具體**如下:

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

public

static

void

go(treenode node,arraylistarr, arraylistarraystr)

// 遍歷右節點

if(node.right != null)

// 當左右節點都空時,說明這個節點是葉子節點,把當前路徑處理下格式,放到最終的結果list中

if(node.left == null && node.right == null)

arraystr.add(temp);}}

}

二叉樹基本操作(輸出所有葉子節點到根節點的路徑)

功能 1 輸出二叉樹的所有葉子節點 2 輸出所有從葉子節點到根節點的路徑 3 輸出 2 中最長的一條路徑 日期 2015 11 28 include include typedef struct binodebinode,bitree void longestpath bitree t,char p...

輸出所有根節點到葉子節點的長度 以二叉排序樹為例

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...

輸出二叉樹葉子節點 葉子節點數目 二叉樹高度

include include 輸出二叉樹葉子節點 葉子節點數目 二叉樹高度 include typedef int datatype int count 0 用於統計葉子節點的數目 typedef struct node bitnode,bittree void creatbitree bittr...