100. 相同的樹

leetcode地址:https://leetcode.cn/problems/same-tree/

在這題上,我首先想到的方法是進行前序遍歷,轉(zhuǎn)換成一個數(shù)組,通過比較數(shù)組進行判斷是否是相同的樹
但是出現(xiàn)了一個問題,在樹中,有可能出現(xiàn)某個節(jié)點為null的情況,這種情況下遍歷的結(jié)果會出現(xiàn)差錯

看題解后使用的方法還是遞歸遍歷,這個方法還是厲害

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func isSameTree(p *TreeNode, q *TreeNode) bool {
    if p == nil && q == nil{
        return true
    }
    if p == nil || q == nil{
        return false
    }
    if p.Val != q.Val{
        return false
    }
    return isSameTree(p.Left,q.Left)&&isSameTree(p.Right,q.Right)
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容