二叉搜索树与双向链表

二叉搜索树与双向链表

http://www.nowcoder.com/questionTerminal/947f6eb80d944a84850b0538bf0ec3a5

思路:先中序遍历得到排好序的节点,然后组成链表就好了。

 List<TreeNode> list = new ArrayList<>();
    public TreeNode Convert(TreeNode pRootOfTree) {
        getSortedNode(pRootOfTree);

        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);
    }
    private TreeNode getSortedNode(TreeNode root){
        if(root==null) return  null;
        getSortedNode(root.left);
        list.add(root);
        getSortedNode(root.right);
        return root;
    }
全部评论

相关推荐

点赞 评论 收藏
分享
心中的变压器:简历需要突出重点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务