LeetCode刷題100-簡單-相同的樹

布小禪 2021-09-18 12:15:58 阅读数:844

leetcode 100- 相同

在這裏插入圖片描述

️ 前言 ️

算法作為極其重要的一點,是大學生畢業找工作的核心競爭力,所以為了不落後與人,開始刷力扣算法題!

作者簡介

大家好,我是布小禪,一個盡力讓無情的代碼變得生動有趣的IT小白,很高興能偶認識你,關注我,每天堅持學點東西,我們以後就是大佬啦!

博客主頁:布小禪
作者專欄:
Python
Java

力扣題

這是我刷第 64/100 道力扣簡單題

一、題目描述

給你兩棵二叉樹的根節點 p 和 q ,編寫一個函數來檢驗這兩棵樹是否相同。
如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。

示例1:

輸入:p = [1,2,3], q = [1,2,3]
輸出:true

示例2:

輸入:p = [1,2], q = [1,null,2]
輸出:false

提示:
兩棵樹上的節點數目都在範圍 [0, 100] 內
-104 <= Node.val <= 104

二、題目解析

思 路 1 : \color{green}{思路1:} 1

遞歸遍曆,考慮特殊情况

三、代碼

️ 1️⃣. C語言️

bool isSameTree(struct TreeNode* p, struct TreeNode* q){

if (p == NULL && q == NULL) return true;
if (p == NULL || q == NULL) return false;
if (p->val != q->val) return false;
else return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}

️ 2️⃣. C# ️

public class Solution {

public bool IsSameTree(TreeNode p, TreeNode q) {

if (p == null && q == null) return true;
if (p == null || q == null) return false;
if (p.val != q.val) return false;
else return IsSameTree(p.right, q.right) && IsSameTree(p.left, q.left);
}
}

3️⃣. Python

class Solution:
def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
if p == None and q == None: return True
elif p == None or q == None: return False
elif p.val != q.val: return False
else:
return self.isSameTree(p.left, q.left) and self.isSameTree(p.right, q.right)

結語

堅持最重要,每日一題必不可少!

期待你的關注和督促!

在這裏插入圖片描述

版权声明:本文为[布小禪]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210918121557917b.html