zoukankan      html  css  js  c++  java
  • 156.上下翻转二叉树

    1. 题目

    给定一个二叉树,其中所有的右节点要么是具有兄弟节点(拥有相同父节点的左节点)的叶节点,要么为空
    将此二叉树上下翻转并将它变成一棵树, 原来的右节点将转换成左叶节点。返回新的根。

    2. 解题

    前序遍历或者后序遍历

    3. 代码

    TreeNode* upsideDown(TreeNode* root) {
            if(!root || !root->left) return root;
            TreeNode* l = root->left;//左右子节点存取来
            TreeNode* r = root->right;
            root->left = NULL;//上下断开
            root->right = NULL;
            TreeNode* p = upsideDown(l);//根节点
            l->left = r;//跟上面连接起来
            l->right = root;
            return p;
    }
  • 相关阅读:
    列表、元组、字符串的相互转化
    python中的常用BIF
    python中的类型
    python内置模块
    打印字体颜色整理
    xml操作
    内置函数
    迭代器
    装饰器
    函数
  • 原文地址:https://www.cnblogs.com/mo-jian-ming/p/14551081.html
Copyright © 2011-2022 走看看