#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <algorithm>
using namespace std;
struct TreeNode{
int val;
TreeNode* left;
TreeNode* right;
TreeNode(): val(0), left(nullptr), right(nullptr) {}
TreeNode(int x): val(x), left(nullptr), right(nullptr) {}
TreeNode(int x, TreeNode* left, TreeNode* right): val(x), left(left), right(right) {}
};
class Solution {
public:
/*
递归法实现:利用前序遍历将每个节点的左右孩子翻转一下
*/
// 1.确定递归函数的入参及返回值
TreeNode* invertTree(TreeNode* root) {
// 2.确定递归的终止条件
if(root == nullptr) return root;
// 3.确定递归的单层逻辑
swap(root->left, root->right);
invertTree(root->left);
invertTree(root->right);
return root;
}
};
【LeetCode-226 | 翻转二叉树】
原创CurryCoder 博主文章分类:LeetCode刷题记录 ©著作权
©著作权归作者所有:来自51CTO博客作者CurryCoder的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【数据结构】二叉树的存储结构
【数据结构】第五章——树与二叉树详细介绍二叉树的存储结构……
二叉树 数据结构 C语言 -
【LeetCode 226】翻转二叉树
题目描述翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \
leetcode 二叉树 面试 js javascript -
【leetcode.226】翻转二叉树
一、题目描述翻转一棵二叉树。示例:二、题目背景Homebrew的作者H思路在这里放
二叉树 Howell 子树 递归 -
【LeetCode】226. 翻转二叉树
递归的方法解决这道题,直接想可能会有点儿绕~
leetcode 深度优先 算法 递归 子树 -
[226].翻转二叉树
翻转二叉树题目函数原型边界判断算法设计:递归 题目翻转一棵二叉树。输
递归 算法设计 二叉树 -
LeetCode——226. 翻转二叉树(BFS)
二叉树镜像和反转二叉树是一个题目,总的来说通过BFS可以高效的解决这个问题。
leetcode 宽度优先 算法 数组 二叉树