將搜尋二叉樹轉換成雙向鍊錶

2021-09-11 07:08:07 字數 709 閱讀 8157

【題目】對二叉樹的節點來說,有本身的值域,有指向左孩子和右孩子的兩個指標;對雙向鍊錶的節點來說,有本身的值域,有指向上乙個節點和下乙個節點的指標。在結構上,兩種結構有相似性,現在有一棵搜尋二叉樹,請將其轉換為乙個有序的雙向鍊錶。

public

class

convertdn

}public

static node convert

(node head)

head = queue.

poll()

; node pre = head;

pre.left = null;

node cur = null;

while

(!queue.

isempty()

) pre.right = null;

return head;

}public

static

void

inordertoqueue

(node head, queue

queue)

inordertoqueue

(head.left, queue)

; queue.

offer

(head)

;inordertoqueue

(head.right, queue);}

}

將搜尋二叉樹轉換成雙向鍊錶

對二叉樹的節點來說,有本身的值域,有指向左孩子和右孩子的兩個指標 對雙向鍊錶的節點來說,有本身的值域,有指向上乙個節點和下乙個節點的指標。在結構上,兩種結構有相似性,現在有一棵搜尋二叉樹,請將其轉換為乙個有序的雙向鍊錶。用兩種方法求解本題。方法一 由於是搜尋二叉樹,直接求出其中序遍歷序列,構造雙向鍊...

將搜尋二叉樹轉換成雙向鍊錶

題目 將搜尋二叉樹轉換成雙向鍊錶 程式設計師 面試指南 第26題 p81 難度 尉 頭一回做二叉樹的題,著實有點艱難。首先就倒在了牛客上面生成二叉樹的問題。題目給的示例輸入是這樣子的 9 6 4 7 4 2 5 2 1 3 5 0 0 1 0 0 3 0 0 7 0 9 9 8 0 8 0 0如果按...

將二叉樹轉換成雙向鍊錶

思路 採用中序遍歷的方法,visit函式須要完畢的功能為 1 當前節點的左子節點指向上一次訪問的節點 2 將上一次訪問節點的右子節點指向當前節點 3 最後更新上一次訪問節點為當前節點。在第二步時須要推斷上一次訪問節點是不是為null,假設是,則第二步改為鍊錶的頭結點指向當前節點。程式例如以下 str...