diff --git "a/08\354\233\224/1\354\243\274\354\260\250/[LCD] Same Tree/SameTree.java" "b/08\354\233\224/1\354\243\274\354\260\250/[LCD] Same Tree/SameTree.java" new file mode 100644 index 0000000..c91db8c --- /dev/null +++ "b/08\354\233\224/1\354\243\274\354\260\250/[LCD] Same Tree/SameTree.java" @@ -0,0 +1,39 @@ +import java.util.*; + +class Solution { + public class TreeNode { + int val; + TreeNode left; + TreeNode right; + TreeNode() {} + TreeNode(int val) { this.val = val; } + TreeNode(int val, TreeNode left, TreeNode right) { + this.val = val; + this.left = left; + this.right = right; + } + } + public boolean isSameTree(TreeNode p, TreeNode q) { + Queue queue = new LinkedList<>(); + + queue.offer(p); + queue.offer(q); + + while (!queue.isEmpty()) { + TreeNode n1 = queue.poll(); + TreeNode n2 = queue.poll(); + + if (n1 == null && n2 == null) continue; + if (n1 == null || n2 == null) return false; + if (n1.val != n2.val) return false; + + queue.offer(n1.left); + queue.offer(n2.left); + + queue.offer(n1.right); + queue.offer(n2.right); + } + + return true; + } +} \ No newline at end of file diff --git "a/08\354\233\224/1\354\243\274\354\260\250/[LCD] Symmetric Tree/SymmetricTree.java" "b/08\354\233\224/1\354\243\274\354\260\250/[LCD] Symmetric Tree/SymmetricTree.java" new file mode 100644 index 0000000..03410fc --- /dev/null +++ "b/08\354\233\224/1\354\243\274\354\260\250/[LCD] Symmetric Tree/SymmetricTree.java" @@ -0,0 +1,39 @@ +import java.util.*; + +class Solution { + public class TreeNode { + int val; + TreeNode left; + TreeNode right; + TreeNode() {} + TreeNode(int val) { this.val = val; } + TreeNode(int val, TreeNode left, TreeNode right) { + this.val = val; + this.left = left; + this.right = right; + } + } + public boolean isSymmetric(TreeNode root) { + if (root == null) return true; + + Queue queue = new LinkedList<>(); + queue.offer(root.left); + queue.offer(root.right); + + while (!queue.isEmpty()) { + TreeNode left = queue.poll(); + TreeNode right = queue.poll(); + + if (left == null && right == null) continue; + if (left == null || right == null) return false; + if (left.val != right.val) return false; + + queue.offer(left.left); + queue.offer(right.right); + queue.offer(left.right); + queue.offer(right.left); + } + return true; + } + +} \ No newline at end of file