劍指offer第2版36題 二叉搜尋樹與雙向鍊錶

2021-08-21 07:17:57 字數 1018 閱讀 2505

小渣渣的演算法學習筆記:2018秋招備戰

資料結構類演算法總結:二叉樹 鍊錶

1.題目描述:

輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的雙向鍊錶。

要求不能建立任何新的結點,只能調整樹中結點指標的指向。

2.**實現:

public classsolution36 

}public static voidmain(string args)

}publictreenode convert(treenode root)

// 3.如果左子樹煉表不為空的話,將當前root追加到左子樹鍊錶

if(left!=null)

// 4.將右子樹構造成雙鏈表,並返回煉表頭節點

treenode right = convert(root.right);

// 5.如果右子樹煉表不為空的話,將該鍊錶追加到root節點之後

if(right!=null)

returnleft!=null?left:root;}/*

public treenode convert(treenode root)

//把左子樹中最大的節點、根結點、右子樹中最小的結點鏈結起來

public void convertnode(treenode pnode,treenode lastnodeinlist)

pcurrent.left = lastnodeinlist;

if(lastnodeinlist != null)

lastnodeinlist = pcurrent;

if(pcurrent.right != null)}*/

}

劍指Offer第36題 Java版

本題使用歸併排序的思想,結合歸併排序,寫出的演算法解。陣列中的逆序對 public static int inversepairs int array public static int mergecount int array,int copy,int start,int end int mid ...

劍指offer第2版37題 序列化二叉樹

小渣渣的演算法學習筆記 2018秋招備戰 資料結構類演算法總結 二叉樹 1.題目描述 請實現兩個函式,分別用來序列化和反序列化二叉樹 2.實現 public classsolution37 序列化 string serialize treenode root voidserialize2 treen...

劍指offer 第6題重建二叉樹

public class test 6 根據前序遍歷和中序遍歷構建二叉樹 前序遍歷序列 前序遍歷開始位置 前序遍歷結束位置 中序遍歷序列 中序遍歷開始位置 中序遍歷結束位置 構建的樹的根節點 前序遍歷和中序遍歷序列 private static treenode reconstructbinaryt...