ভিডিওতে দেখো — YouTube @algonur_com
কোড
Python
def invertTree(root):
if not root:
return None
# Swap children
root.left, root.right = root.right, root.left
# Recurse on both subtrees
invertTree(root.left)
invertTree(root.right)
return rootJava
public TreeNode invertTree(TreeNode root) {
if (root == null) return null;
// Swap children
TreeNode temp = root.left;
root.left = root.right;
root.right = temp;
// Recurse
invertTree(root.left);
invertTree(root.right);
return root;
}Kotlin
fun invertTree(root: TreeNode?): TreeNode? {
if (root == null) return null
// Swap children
val temp = root.left
root.left = root.right
root.right = temp
// Recurse
invertTree(root.left)
invertTree(root.right)
return root
}C++
TreeNode* invertTree(TreeNode* root) {
if (!root) return nullptr;
swap(root->left, root->right);
invertTree(root->left);
invertTree(root->right);
return root;
}জটিলতা
O(n)
সময় — অ্যারেটা একবারই ঘুরি, ম্যাপে খোঁজা O(1)।
O(h) — call stack
জায়গা — সবচেয়ে খারাপ ক্ষেত্রে সব সংখ্যা ম্যাপে থাকে।
আগের সমস্যা← Reverse Nodes in k-Groupপরের সমস্যাMaximum Depth of Binary Tree →