226. 翻转二叉树
二叉树 翻转
2023-09-14 09:01:25 时间
Question
Idea
二叉树的翻转指的是左孩子和右孩子翻转过来,那么就可以用二叉树的深度优先搜索,对每个节点的左右孩子进行互换
Code
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def invertTree(self, root: TreeNode) -> TreeNode:
'''
思路:翻转二叉树指的是二叉树左孩子和右孩子互换
那么就可以遍历该树 让其左孩子和右孩子互换
这里采用dfs 前序遍历
'''
def dfs(root):
if not root:
return root
root.left, root.right = root.right, root.left
dfs(root.left)
dfs(root.right)
return root
return dfs(root)
相关文章
- Java实现 LeetCode 331 验证二叉树的前序序列化
- Java实现 LeetCode 226 翻转二叉树
- Java实现 LeetCode 114 二叉树展开为链表
- LeetCode(103): 二叉树的锯齿形层次遍历
- Leetcode.226 翻转二叉树
- ( “树” 之 DFS) 226. 翻转二叉树 ——【Leetcode每日一题】
- C/C++每日一练(20230410) 二叉树专场(4)
- 【7004】二叉树的遍历问题
- 【LeetCode 中等 树 python3】144. 二叉树的前序遍历
- 剑指 Offer 27. 二叉树的镜像(翻转二叉树)
- 226. 翻转二叉树-dfs法
- 最大二叉树 II-c语言递归法
- [LeetCode] 112. Path Sum ☆(二叉树是否有一条路径的sum等于给定的数)
- 算法 翻转二叉树 dfs
- LeetCode 226. 翻转二叉树
- 【LeetCode】226. 翻转二叉树
- 二叉树前中后遍历
- 二叉树前序、中序、后序遍历(八)
- 二叉树专题02