LeetCode 0226. 翻转二叉树
Posted Tisfy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 0226. 翻转二叉树相关的知识,希望对你有一定的参考价值。
【LetMeFly】226.翻转二叉树
力扣题目链接: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
方法一:广搜
使用一个队列
首先将根节点入队,每次出队时,先记录下原始的左右节点,之后交换当前节点的左右节点。
如果左或右节点不空,就入队。
直到队列为空。
- 时间复杂度 O ( n ) O(n) O(n),其中 n n n是节点个数
- 空间复杂度 O ( n ) O(n) O(n),空间复杂度来自队列
AC代码
C++
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
以上是关于LeetCode 0226. 翻转二叉树的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode刷题100天—226. 翻转二叉树(二叉树)—day03