Re: [閒聊] 每日leetcode

看板Marginalman作者 (神楽めあ的錢包)時間1年前 (2024/10/24 22:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1038/1548 (看更多)
951. Flip Equivalent Binary Trees 給你兩棵二元樹 請問這其中一棵二元樹的一些節點經過flip operation後 會不會跟另外一棵二元樹相等 flip operation就是把一個node的左右節點交換 思路: 就把兩棵樹丟下去檢查 如果兩棵樹的node都為null為傳true 其中一個node為null或兩個node的值不相等回傳false 不是上面的情況 就接著檢查有flip operation 或是 沒有flip operation只要有一種情況是true 就回傳true golang code : /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func flipEquiv(root1 *TreeNode, root2 *TreeNode) bool { if root1 == nil && root2 == nil { return true } if root1 == nil || root2 == nil || root1.Val != root2.Val { return false } return (flipEquiv(root1.Left, root2.Right) && flipEquiv(root1.Right, root2. Left)) || (flipEquiv(root1.Right, root2.Right) && flipEquiv(root1.Left, root2. Left)) } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.212.220 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1729781277.A.22A.html
文章代碼(AID): #1d6buT8g (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1d6buT8g (Marginalman)