国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Leetcode 494 python 解題報(bào)告

2019-11-08 02:17:29
字體:
供稿:網(wǎng)友

AC代碼:

class Solution(object):    def findMode(self, root):        """        :type root: TreeNode        :rtype: List[int]        """        self.ans = []        self.max = 1        if root == None:            return []        r = root        self.tmp = root.val+1        self.num = 0        while r.left:            r = r.left            self.tmp = r.val+1        self.findnum(root)        return self.ans    def findnum(self, node):        if node.left != None:            self.findnum(node.left)        if node.val == self.tmp:            self.num += 1        else:            self.num = 1        self.tmp = node.val        if self.num > self.max:                self.ans = [node.val]                self.max = self.num        elif self.num == self.max:            if node.val not in self.ans:                self.ans.append(node.val)        if node.right != None:            self.findnum(node.right)

解題思路:為了不使用額外的存儲(chǔ)空間,需要按照遞增的順序遍歷BST,中序遍歷可滿足遍歷的順序遞增,增加三個(gè)變量,tmp,max及num,tmp記錄的是上次訪問的數(shù),num記錄的是連續(xù)相等數(shù),max記錄的是最大的num。將num與max比較,若相等且ans中沒有該node,則將node加入ans中。若num大于max,則將ans清零,且加入該node,max換為num。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 盐边县| 理塘县| 漾濞| 三江| 白河县| 宝鸡市| 江西省| 射洪县| 绥化市| 南丹县| 天气| 大邑县| 灌阳县| 石渠县| 南宁市| 茂名市| 东兴市| 大庆市| 南汇区| 宜州市| 山阴县| 屏东市| 江北区| 新巴尔虎右旗| 尉氏县| 棋牌| 泰顺县| 广安市| 福泉市| 宁强县| 绥棱县| 巴林左旗| 龙海市| 蒙山县| 昌乐县| 辽阳市| 高雄县| 福安市| 临邑县| 城口县| 汾阳市|