資料結構之二叉樹及相關演算法題

2021-10-24 08:26:30 字數 2806 閱讀 3435

* definition for a binary tree node.

*public

class

treenode

*}

左右子節點例:root.left root.right

節點值例:root.val

226.翻轉二叉樹

;257.二叉樹的所有路徑

}}stringbuffer、stringbuilder常用方法一、可變字串的建立和初始化兩種方法:

public stringbuffer();

public stringbuffer(int caoacity);

二、獲取可變字串長度

public int length();

public int capacity();

public void setlength(int newlength);

三、比較可變字串用string 類的equals()方法比較,但是不同。

類object中的equals()方法比較的是兩個物件的位址是否相等,而不僅僅是比較內容,但是

四、追加和插入字串

public stringbuffer insert(int offset,type t);//插入,在offset處加入型別為type的字串

五、反轉和刪除字串

public stringbuffer reverse(); //反轉

public stringbuffer delete(int start,int end); //刪除

六、減少用於可變字串行的儲存空間

public void trimtosize();
七、stringbuffer類轉換成string類

public string tostring();
stringbuffer和stringbuilder區別:1、stringbuffer 與 stringbuilder 中的方法和功能完全是等價的,

2、只是stringbuffer 中的方法大都採用了 synchronized 關鍵字進行修飾,因此是執行緒安全的,

而 stringbuilder 沒有這個修飾,可以被認為是執行緒不安全的。

3、在單執行緒程式下,stringbuilder效率更快,因為它不需要加鎖,不具備多執行緒安全

而stringbuffer則每次都需要判斷鎖,效率相對更低

617.合併二叉樹

//對應位置節點值相加

t1.left =

mergetrees

(t1.left,t2.left)

;//左子樹遞迴合併

t1.right =

mergetrees

(t1.right,t2.right)

;//右子樹遞迴合併

return t1;

}}

資料結構之二叉樹

在二叉樹中每個節點最多只能有兩個子節點。即左子節點和有子節點。在二叉樹中最重要的操作應當是遍歷。即按照某一順序訪問二叉樹中的每乙個節點。一般有如下幾種遍歷方法 1 前序遍歷,即先訪問根幾點,然後再訪問左子節點,最後訪問右子節點。2 中序遍歷,即先訪問左子節點,然後再訪問根節點,最後訪問右子節點。3 ...

資料結構之二叉樹

定義 滿足以下條件的就是樹 1.有且僅有乙個特定的稱為根root的結點。2.當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每個集合本身又是乙個棵樹,並稱為根的子樹。樹是資料結構中一種常見的資料結構,比如我們排序中常見的二叉樹,紅黑樹等。最常見的是樹形表示法和廣義表表示法。樹的結構示意...

資料結構之二叉樹

來看一下樹的結構 class treenode public treenode string value 首先,為了方便後面看到效果,先手動初始化乙個有4個節點的二叉樹 tree tree new tree treenode root new treenode root treenode node1...