File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed
Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change 1+ //
2+ // 572. Subtree of Another Tree
3+ // https://leetcode.com/problems/subtree-of-another-tree/description/
4+ // Dale-Study
5+ //
6+ // Created by WhiteHyun on 2024/05/12.
7+ //
8+
9+ /**
10+ * Definition for a binary tree node.
11+ * public class TreeNode {
12+ * public var val: Int
13+ * public var left: TreeNode?
14+ * public var right: TreeNode?
15+ * public init() { self.val = 0; self.left = nil; self.right = nil; }
16+ * public init(_ val: Int) { self.val = val; self.left = nil; self.right = nil; }
17+ * public init(_ val: Int, _ left: TreeNode?, _ right: TreeNode?) {
18+ * self.val = val
19+ * self.left = left
20+ * self.right = right
21+ * }
22+ * }
23+ */
24+ extension TreeNode : Equatable {
25+ public static func == ( lhs: TreeNode , rhs: TreeNode ) -> Bool {
26+ lhs. val == rhs. val && lhs. left == rhs. left && lhs. right == rhs. right
27+ }
28+ }
29+
30+ final class Solution {
31+ func isSubtree( _ node: TreeNode ? , _ subRoot: TreeNode ? ) -> Bool {
32+ if node == subRoot { return true }
33+ else if node? . left != nil , isSubtree ( node? . left, subRoot) { return true }
34+ else if node? . right != nil , isSubtree ( node? . right, subRoot) { return true }
35+ return false
36+ }
37+ }
You can’t perform that action at this time.
0 commit comments