leetcode-92 翻转二叉树

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    TreeNode* invertTree(TreeNode* root) {
        if(root ==nullptr ) return root;
        queue<TreeNode*>qu; //这里是用到了层序遍历 所以需要一个队列
        qu.push(root);
        while(!qu.empty())
        {
            TreeNode * node = qu.front();
            qu.pop();
            if(node->left!=nullptr) qu.push(node->left);//把左子节点放入队列 
            if(node->right!=nullptr) qu.push(node->right);//把右子节点放入队列
            
            //交换已经不再队列的node的左右指针
            TreeNode* temp = node->left;
            node->left = node -> right;
            node -> right = temp;
            
        }
        return root;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • --- knowledge ---# of leaves = # of nonleaves + 1 - Bi...
    陈十十阅读 304评论 0 0
  • http://www.jianshu.com/p/49c8cfd07410 解决二叉树的很多问题的方案都是基于对二...
    MSG猿阅读 810评论 0 0
  • 树的代码 101. Symmetric Tree Given a binary tree, check wheth...
    lindsay_bubble阅读 491评论 0 0
  • 你是那根稻草 明知载不起 心的重量 还是忍不住 想要靠近 手在水面扑腾 心在海底呐喊 恐慌在天空盘旋 想要随你浮起...
    光之予阅读 245评论 0 2
  • 每日一淘是什么?是每日优鲜这个国内生鲜行业领导者所孵化出来的新型社交电商创业美食平台,正是我们国家提倡的“...
    0ff29dba205f阅读 65评论 0 0