114 二叉树展开成链表

给你二叉树的根结点 root ,请你将它展开为一个单链表:

展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。
展开后的单链表应该与二叉树 先序遍历 顺序相同。

题解:使用树的前序遍历。

class Solution {
    public void flatten(TreeNode root) {
        List<TreeNode> tree=new ArrayList<TreeNode>();
        qain(root,tree);
        for(int i=1;i<tree.size();i++){
            TreeNode prev=tree.get(i-1);
            prev.left=null;
            prev.right=tree.get(i);
        }


    }
    public void qain(TreeNode root, List<TreeNode> tree){
        if(root==null){
            return;
        }
        tree.add(root);
        qain(root.left,tree);
        qain(root.right,tree);

    }
}

114 二叉树展开成链表

上一篇:九章算法 | Hulu面试题:字典序的第K小数字


下一篇:114. 二叉树展开为链表