力扣题目链接:https://leetcode.cn/problems/invert-binary-tree/
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。
示例 1:

输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]
示例 2:

输入:root = [2,1,3] 输出:[2,3,1]
示例 3:
输入:root = [] 输出:[]
提示:
[0, 100] 内-100 <= Node.val <= 100使用一个队列
首先将根节点入队,每次出队时,先记录下原始的左右节点,之后交换当前节点的左右节点。
如果左或右节点不空,就入队。
直到队列为空。
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
if (!root)
return root;
queue<TreeNode*> q;
q.push(root);
while (q.size()) {
TreeNode* thisNode = q.front();
q.pop();
TreeNode* left = thisNode->left;
TreeNode* right = thisNode->right;
thisNode->left = right, thisNode->right = left;
if (left)
q.push(left);
if (right)
q.push(right);
}
return root;
}
};
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/126723046