日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法:相同的树

發布時間:2025/6/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法:相同的树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?題目:

//判斷兩顆數是不是相同//深度優先搜索 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) }//廣度優先搜索 func isSameTree(p *TreeNode, q *TreeNode) bool {if p == nil && q == nil {return true}if p == nil || q == nil {return false}queue1, queue2 := []*TreeNode{p}, []*TreeNode{q}for len(queue1) > 0 && len(queue2) > 0 {node1, node2 := queue1[0], queue2[0]queue1, queue2 = queue1[1:], queue2[1:]if node1.Val != node2.Val {return false}left1, right1 := node1.Left, node1.Rightleft2, right2 := node2.Left, node2.Rightif (left1 == nil && left2 != nil) || (left1 != nil && left2 == nil) {return false}if (right1 == nil && right2 != nil) || (right1 != nil && right2 == nil) {return false}if left1 != nil {queue1 = append(queue1, left1)}if right1 != nil {queue1 = append(queue1, right1)}if left2 != nil {queue2 = append(queue2, left2)}if right2 != nil {queue2 = append(queue2, right2)}}return len(queue1) == 0 && len(queue2) == 0 }

?

總結

以上是生活随笔為你收集整理的算法:相同的树的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。