feat: 100_same_tree

This commit is contained in:
SquidSpirit 2025-02-27 23:57:52 +08:00
parent 70b16df4db
commit 0dbd38babe

31
100_same_tree/main.cpp Normal file
View File

@ -0,0 +1,31 @@
#include <bits/stdc++.h>
using namespace std;
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode() : val(0), left(nullptr), right(nullptr) {}
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
TreeNode(int x, TreeNode* left, TreeNode* right) : val(x), left(left), right(right) {}
};
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
function<bool(TreeNode*, TreeNode*)> dfs = [&](TreeNode* p, TreeNode* q) -> bool {
// both p and q are null
if (!p && !q) return true;
// one of p and q is null
if (!p || !q) return false;
// the value of p and q are different
if (p->val != q->val) return false;
return dfs(p->left, q->left) && dfs(p->right, q->right);
};
return dfs(p, q);
}
};