Leetcode 226 Invert Binary Tree
Given the root of a binary tree, invert the tree, and return its root.
Input: root = [4,2,7,1,3,6,9]
Output: [4,7,2,9,6,3,1]
Input: root = [2,1,3]
Output: [2,3,1]
Input: root = []
Output: []
- Burada bize verilen ikili arama ağacını terse çevirmemiz isteniyor.
- DFS yöntemi ile recursive olarak dallara kadar gidip ters çevirme işlemini yapabiliriz.
- Dikkat edilmesi gereken en uç dalın yaprakları ters çevrildikten sonra sağ ve soldaki dallar da kendi içinde ters çevrilmelidirler.
def invertTree(self, root):
if root == None or (root.left == None and root.right==None):
return root
left = self.invertTree(root.left) #sol dalı ters çevir
right = self.invertTree(root.right) #sağ dalı ters çevir
#şimdi sol ile sağı kendi arasında yerini değiştir
root.left = right
root.right = left
#ağacın son halini dön
return root