一道二叉樹遍歷題

2021-08-21 16:20:46 字數 425 閱讀 7078

如何按照1234567的順序列印?

一開始我想提供乙個getright()方法,即從4可以知道5,5可以知道6。。。

但是卻是很蠢的:

1.反向的指向,理論上是不支援的,在遞迴情況下就gg了

2.時間複雜度高

其實可以直接把第一層加到集合裡去,然後檢視他的左右子樹,然後再把左右子樹加進去。。。以此類推

反思反思下思路的形成,一開始我就是想的方法2,但是我認為這太扯了吧,遍歷二叉樹還能借助外部工具的嗎?必然是有更妙的方法!其實方法2是最好的,因為可以看出來整個遍歷是扁平的。下次應該先記錄下所有思路,用 最短時間選擇最優方案,再code。還有發現公司做的業務邏輯可以提公升乙個人的code判空,邏輯嚴密能力。

每天一道演算法題系列十五之二叉樹的後序遍歷

給定乙個二叉樹,返回它的 後序 遍歷。示例 輸入 1,null,2,3 12 3輸出 3,2,1 這是二叉樹系列,是有乙個一套的,由於今天做了這道題,感覺要寫乙個系列的好一些,但是好久沒有發演算法的文章了,為了證明我還在,我就先發一下,然後後面會補上二叉樹詳細的資訊 這裡採用的是迭代的方式去做的這道...

構建二叉樹 遍歷二叉樹

陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...

一道二叉查詢樹的應用題

題目 建立一顆二叉查詢樹,輸出每個節點的數值以及該節點的左右子樹的數值。格式如下 輸入格式 第一行輸入乙個正整數 n 1 n 1000 代表序列裡元素個數。第二行輸入 n 個正整數,代表序列 a 的 n 個元素 0 ai 10000 保證序列裡的元素值互不相同。輸出格式 請按格式 a b,c 輸出引...