翻转一棵二叉树
Posted yejiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了翻转一棵二叉树相关的知识,希望对你有一定的参考价值。
问题描述:
翻转一棵二叉树
示例:
输入:
4 / 2 7 / / 1 3 6 9
输出:
4 / 7 2 / / 9 6 3 1
解法:
1.用递归来解决
2.首先判断根是不是空(递归出口)
3.如果不是空则交换左右子数
4.对左子树进行递归
5.对右子树进行递归
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def invertTree(self, root): """ :type root: TreeNode :rtype: TreeNode """ #交换 if root == None: return root # if root.left == None and root.right == None: # return root temp = root.left root.left = root.right root.right = temp #递归左 self.invertTree(root.left) #递归右 self.invertTree(root.right) return root
以上是关于翻转一棵二叉树的主要内容,如果未能解决你的问题,请参考以下文章