博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
341. Flatten Nested List Iterator
阅读量:5242 次
发布时间:2019-06-14

本文共 1800 字,大约阅读时间需要 6 分钟。

题目来源:

https://leetcode.com/problems/flatten-nested-list-iterator/submissions/

 自我感觉难度/真实难度:mid             写题时间时长:

 题意:

 

 分析:

 自己的代码:

class NestedIterator(object):    def __init__(self, nestedList):        """        Initialize your data structure here.        :type nestedList: List[NestedInteger]        """        self.queue=collections.deque()                def getAll(nests):            for nest in nests:                if nest.isInteger():                    self.queue.append(nest.getInteger())                else:                    getAll(nest.getList())                    getAll(nestedList)            def next(self):        """        :rtype: int        """        if self.hasNext():            return self.queue.popleft()        else:            return None    def hasNext(self):        """        :rtype: bool        """        return len(self.queue)

 

代码效率/结果:

 优秀代码:

class NestedIterator(object):    def __init__(self, nestedList):        """        Initialize your data structure here.        :type nestedList: List[NestedInteger]        """        # print nestedList        self.stack = nestedList        # print "----", self.stack        self.stack.reverse()            def next(self):        """        :rtype: int        """                return self.stack.pop().getInteger()            def hasNext(self):        """        :rtype: bool        """        while self.stack and not self.stack[-1].isInteger():            lst = self.stack.pop().getList()            if lst:                lst.reverse()                self.stack.extend(lst)                return len(self.stack) != 0

 

代码效率/结果:

 自己优化后的代码:

 反思改进策略:

1.不会使用类变量。     solution 类里面,使用self.queue,那么在整个类里面都是可以使用的

2.pop() 默认是弹出后面的元素,popleft(),弹出 左边的

 

3.没有很明白下面两个函数是什么用处:

getList()
.getInteger()

 

转载于:https://www.cnblogs.com/captain-dl/p/10715256.html

你可能感兴趣的文章
【学习笔记】深入理解js原型和闭包系列学习笔记——精华
查看>>
深入理解js——prototype原型
查看>>
class 2-3 小项目练习
查看>>
Temple Build~dp(01背包的变形)
查看>>
.NET:“事务、并发、并发问题、事务隔离级别、锁”小议,重点介绍:“事务隔离级别"如何影响 “锁”?...
查看>>
Entityframework:“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。...
查看>>
K60用IRA通过j-link下载失败,解决方法
查看>>
可怜的牧羊人
查看>>
c#中bin,obj,properties文件夹的作用
查看>>
Spring Boot Security 详解
查看>>
LINQ / LINQ to SQL / LINQ to XXX 它们到底有什么区别
查看>>
IDM下载器使用方法详解:百度网盘下载,视频会员一网打尽!
查看>>
Git使用
查看>>
java线程面试
查看>>
机顶盒相关知识
查看>>
对象转换为字符串的方法
查看>>
MySQL中int(m)的含义
查看>>
Luogu P2146 软件包管理器(树链剖分+线段树)
查看>>
C结构体之位域(位段)
查看>>
shop--6.店铺注册--使用kaptcha实现验证码
查看>>