二叉搜索樹與雙向鏈表

核心思想:二叉搜索樹的中序遍歷結果是遞增數列。

/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public class Solution {
    TreeNode head=null;
    public TreeNode Convert(TreeNode pRootOfTree) {
        if(pRootOfTree==null)
            return null;
        dfs(pRootOfTree);
        while(head.left!=null)
            head=head.left;
        return head;
    }
    void dfs(TreeNode tree){
        if(tree==null)
            return;
        dfs(tree.left);
        if(head==null){
            head=tree;
            head.left=null;
        }
        else{
            head.right=tree;
            tree.left=head;
            head=tree;
        }
        dfs(tree.right);
    }
    
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章