Files
cpp-flashcards/org/study_deck_02/dsa/trees/0100-same-tree.org
T

79 lines
1.6 KiB
Org Mode
Raw Normal View History

2026-06-01 18:12:40 +08:00
#+ANKI_DECK: study_deck_02
* TODO 0100. Same Tree :easy:
:PROPERTIES:
:NEETCODE: [[file:../../roadmap.org::*0100. Same Tree][0100. Same Tree]]
:END:
Given the roots of two binary trees ~p~ and ~q~, write a function to check if they are the same or not.
Two binary trees are considered the same if they are structurally identical, and the nodes have the same value.
*Example 1:*
#+begin_src
Input: p = [1,2,3], q = [1,2,3]
Output: true
#+end_src
*Example 2:*
#+begin_src
Input: p = [1,2], q = [1,null,2]
Output: false
#+end_src
*Example 3:*
#+begin_src
Input: p = [1,2,1], q = [1,1,2]
Output: false
#+end_src
*Constraints:*
- The number of nodes in both trees is in the range ~[0, 100]~.
- ~-10^{4} <= Node.val <= 10^{4}~
** TODO Approach
Write your approach here.
** TODO Python
#+begin_src python
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def isSameTree(self, p: Optional[TreeNode], q: Optional[TreeNode]) -> bool:
#+end_src
** TODO C++
#+begin_src cpp
/**
* Definition for a binary tree node.
* 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) {
}
};
#+end_src