Java教程

114. 二叉树展开为链表

本文主要是介绍114. 二叉树展开为链表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

非递归实现,且空间复杂度O(n):

class Solution {
    public void flatten(TreeNode root) {
        LinkedList<TreeNode> sta=new LinkedList<>();
        TreeNode p=root;
        TreeNode pre=null;
        while(p!=null||!sta.isEmpty()){
            while(p!=null){
                sta.add(p.right);//可能会压入空节点
                if(pre!=null){
                   pre.left=null;
                   pre.right=p;
                }  
                pre=p;
                p=p.left;
                    
            }
            p=sta.removeLast();
            
        }

    }
}
这篇关于114. 二叉树展开为链表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!