2023.7.1
这题依旧可以用层序遍历的思路来做。 在层序遍历的代码上将所有节点的左右节点进行互换即可实现二叉树的反转。 下面上代码:
class Solution {
public:
TreeNode* invertTree(TreeNode* root) {
queue<TreeNode*> que;
if(root == nullptr) return{};
que.push(root);
while(!que.empty())
{
int size = que.size();
while(size--)
{
TreeNode* node = que.front();
que.pop();
//左右孩子节点进行互换
TreeNode* temp = node->left;
node->left = node->right;
node->right = temp;
if(node->left) que.push(node->left);
if(node->right) que.push(node->right);
}
}
return root;
}
};