二叉搜尋樹與雙向連結串列
題目描述
輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成一個排序的雙向連結串列。要求不能建立任何新的結點,只能調整樹中結點指標的指向。
題目連結: 二叉搜尋樹與雙向連結串列
程式碼
/**
* 標題:二叉搜尋樹與雙向連結串列
* 題目描述
* 輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成一個排序的雙向連結串列。要求不能建立任何新的結點,只能調整樹中結點指標的指向。
* 題目連結:
* https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&&tqId=11179&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
*/
public class Jz26 {
private TreeNode pre = null;
private TreeNode head = null;
public TreeNode convert(TreeNode pRootOfTree) {
inOrder(pRootOfTree);
return head;
}
/**
* 中序遍歷
*
* @param node
*/
private void inOrder(TreeNode node) {
if (node == null) {
return;
}
inOrder(node.left);
node.left = pre;
if (pre != null) {
pre.right = node;
}
pre = node;
if (head == null) {
head = node;
}
inOrder(node.right);
}
public static void main(String[] args) {
}
}
【每日寄語】 悟已往之不諫,知來者之可追。實迷途其未遠,覺今是而昨非。