Re: [閒聊] 每日leetcode

作者: JIWP (JIWP)   2024-02-29 18:48:11
每日連續解100天了,有點累
之後可能不會每天都解
1609. Even Odd Tree
給你一棵二元樹,請問是不是Even Odd Tree
Even Odd Tree要滿足下面三個條件
1.root的level index為1,他的children level index為2,以此類推
2.所有level index是偶數的node,值必須是奇數,且從左到右要嚴格遞增
3.所有level index是奇數的node,值必須是偶數,且從左到右必須是嚴格遞減
思路:
用BFS去檢視每一層是否滿足條件
golanf code:
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isEvenOddTree(root *TreeNode) bool {
queue := []*TreeNode{}
queue = append(queue, root)
cnt := 1
level := 0
for len(queue) > 0 {
for cnt > 1 {
temp := queue[0]
queue = queue[1:]
if level%2 == 0 {
if temp.Val >= queue[0].Val || temp.Val%2 != 1 {
return false
}
} else {
if temp.Val <= queue[0].Val || temp.Val%2 != 0 {
return false
}
}
if temp.Left != nil {
queue = append(queue, temp.Left)
}
if temp.Right != nil {
queue = append(queue, temp.Right)
}
cnt
作者: Rushia (みけねこ的鼻屎)   2024-02-29 18:50:00
大師
作者: DJYOSHITAKA (Evans)   2024-02-29 18:58:00
100 大濕
作者: JerryChungYC (JerryChung)   2024-02-29 19:03:00
我沒超過5天 我好爛
作者: NCKUEECS (小惠我婆)   2024-02-29 19:03:00
大師 看到跟你一樣這麼多if我就放心了

Links booklink

Contact Us: admin [ a t ] ucptt.com