leetcode

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 8bc31b4264fee36780ace2cf92fffb9cf4d18113
parent 1baf62c0c3ceadbf511a3eb3e320612d853e4f4b
Author: AndrewLockVI <andrewlaack1@gmail.com>
Date:   Wed, 28 Feb 2024 20:26:12 -0600

Even odd tree

Diffstat:
Aeven-odd-tree/even-odd-tree.py | 43+++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+), 0 deletions(-)

diff --git a/even-odd-tree/even-odd-tree.py b/even-odd-tree/even-odd-tree.py @@ -0,0 +1,43 @@ +#even odd tree + +#is only true if even layers are ascending order and odd +#and odd layers are even nums and descending order + +#233ms beats 53.29% +#60.06MB Beats 5.76% + +class Solution(object): + def isEvenOddTree(self, root): + lis = recurse(root, 0, []) + isEven = False + layer = 0 + for i in lis: + isEven = not isEven + index = 0 + for v in i: + if isEven: + if v % 2 == 0: + return False + if index > 0: + if lis[layer][index - 1] >= v: + return False + else: + if v % 2 != 0: + return False + if index > 0: + if lis[layer][index - 1] <= v: + return False + index += 1 + layer += 1 + return True + +def recurse(root, layer, lis): + if len(lis) <= layer: + lis.append([]) + lis[layer].append(root.val) + if root.left is not None: + recurse(root.left, layer + 1, lis) + if root.right is not None: + recurse(root.right, layer + 1, lis) + return lis +