LeetCode
1 flashcards · Computer Science · by Smagul Zhanibek
Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center). Example 1: Input: root = [1,2,2,3,4,4,3] Output: true Example 2: Input: root = [1,2,2,null,3,null,3] Output: false Constraints: The number of nodes in the tree is in the range [1, 1000]. -100 <= Node.val <= 100 Follow up: Could you solve it both recursively and iteratively?
bool IsSymmetric(TreeNode root) { return IsValid(root, root); } bool IsValid(TreeNode left, TreeNode right) { if (left == null || right == null) { return left == null && right == null; } if (left.val == right.val) { return IsValid(left.left, right.right) && IsValid(left.right, right.left); } return false; } public class TreeNode { public int val; public TreeNode? left; public TreeNode? right; public TreeNode(int val = 0, TreeNode? left = null, TreeNode? right = null) { this.val = val; this.left…