讨论/题目交流/🐱 第 21 场夜喵双周赛/
🐱 第 21 场夜喵双周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

4 分 - 上升下降字符串
4 分 - 每个元音包含偶数次的最长子字符串
5 分 - 二叉树中的最长交错路径
6 分 - 二叉搜索子树的最大键值和

第三题,超出时间限制了,但想不出好的办法了,肯定是有冗余,不知道怎么修改了,太难受了。

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def longestZigZag(self, root: TreeNode) -> int:
        if not root:
            return 0
        def helper(root, flag, count):
            if not root.left and not root.right:
                return count
            if flag == 1:
                if not root.left:
                    return count
                else:
                    result = helper(root.left, -flag, count+1)
            else:
                if not root.right:
                    return count
                else:
                    result = helper(root.right, -flag, count+1)
            return result
        return max(helper(root, 1, 0), helper(root,-1,0),self.longestZigZag(root.left), self.longestZigZag(root.right))
        
展开全部 21 讨论