2021-07-19 二叉搜索树和双向链表

二叉搜索树与双向链表

public TreeNode Convert(TreeNode pRootOfTree) {
        if(null == pRootOfTree){
            return null;
        }
        //使用二叉树中序遍历,然后修改指针
        ArrayList<TreeNode> list = new ArrayList();
        bianLi(pRootOfTree,list);
        for(int i = 0; i < list.size() - 1; i++){
            list.get(i).right = list.get(i + 1);
            list.get(i + 1).left = list.get(i);
        }
        return list.get(0);
    }

    public void bianLi(TreeNode pRootOfTree,ArrayList<TreeNode> list){
         if(null == pRootOfTree){
             return;
         }
        if(null !=pRootOfTree.left){
            bianLi(pRootOfTree.left,list);
        }
        list.add(pRootOfTree);
        if(null != pRootOfTree.right){
            bianLi(pRootOfTree.right,list);
        }
    }

https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&tags=&title=&difficulty=0&judgeStatus=0&rp=1

不开心的一天,又是这绩效,领导拿你唯唯诺诺。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容