力扣226:翻转二叉树

简介: 力扣226:翻转二叉树

力扣226:翻转二叉树

给你一棵二叉树的根节点 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


分析:


递归思想


将根节点的左孩子和右孩子交换一下即可,交换时需要传递地址到交换函数中,因此需要用二级指针来接收。


当根结点为空时,结束递归,这是递归返回的条件。


AC代码:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
void swap(struct TreeNode**left,struct TreeNode**right)
{
    struct TreeNode*tmp=*left;
    *left=*right;
    *right=tmp;
}
struct TreeNode* invertTree(struct TreeNode* root) {
    if(root==NULL)
        return NULL;
    swap(&root->left,&root->right);
    invertTree(root->left);
    invertTree(root->right);
    return root;
}
目录
相关文章
|
4天前
leetcode代码记录(二叉树的所有路径
leetcode代码记录(二叉树的所有路径
12 0
|
4天前
leetcode代码记录(对称二叉树 中序遍历+回文串 为什么不行
leetcode代码记录(对称二叉树 中序遍历+回文串 为什么不行
8 0
|
4天前
leetcode代码记录(二叉树的最小深度
leetcode代码记录(二叉树的最小深度
9 0
|
4天前
leetcode代码记录(二叉树的最大深度
leetcode代码记录(二叉树的最大深度
9 0
|
4天前
leetcode代码记录(翻转二叉树
leetcode代码记录(翻转二叉树
7 0
|
4天前
leetcode代码记录(二叉树的层序遍历
leetcode代码记录(二叉树的层序遍历
12 0
|
4天前
|
算法
leetcode代码记录(二叉树递归遍历
leetcode代码记录(二叉树递归遍历
8 0
|
4天前
[leetcode~dfs]1261. 在受污染的二叉树中查找元素
[leetcode~dfs]1261. 在受污染的二叉树中查找元素
[leetcode~dfs]1261. 在受污染的二叉树中查找元素
|
4天前
|
算法 API DataX
二叉树(下)+Leetcode每日一题——“数据结构与算法”“对称二叉树”“另一棵树的子树”“二叉树的前中后序遍历”
二叉树(下)+Leetcode每日一题——“数据结构与算法”“对称二叉树”“另一棵树的子树”“二叉树的前中后序遍历”
|
4天前
|
算法 DataX
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”