码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树——leetcode 114. 二叉树展开为链表

时间:2021-03-16 11:50:33      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:tree   code   二叉树   链表   roo   最小   tco   turn   return   

void flatten(TreeNode root) {
    // base case,即最小
    if (root == null) return;

    flatten(root.left);
    flatten(root.right);

    /**** 后序遍历 ****/
    // 1、保存原来的左右节点,避免变换位置后不能索引到
    TreeNode left = root.left;
    TreeNode right = root.right;

    // 2、将左子树转为右子树,原左子树的位置置为空
    root.left = null;
    root.right = left;

    // 3、将原先的右子树right 接到 改变后的右子树的右边的末端,因为改变后的右子树的右边不一定为空
    TreeNode p = root;
    while (p.right != null) {
        p = p.right;
    }
    p.right = right;
}

参考:https://labuladong.gitee.io/algo/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%B3%BB%E5%88%97/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%B3%BB%E5%88%971.html

二叉树——leetcode 114. 二叉树展开为链表

标签:tree   code   二叉树   链表   roo   最小   tco   turn   return   

原文地址:https://www.cnblogs.com/Ping697/p/14531862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!