class Solution(object):
def nextLargerNodes(self, head: ListNode) -> 'List[int]':
n = 0
temp = head
while temp != None:
n += 1
temp = temp.next
R = [0] * n
Stack = list()
index = 0
while head != None:
#print(head.val)
cur = head.val
if len(Stack) == 0:
Stack.append((index,cur))
else:
for i in range(len(Stack)-1,-1,-1):
peeknode = Stack[-1]
peekindex = peeknode[0]
peekval = peeknode[1]
if peekval < cur:
R[peekindex] = cur
Stack.remove((peekindex,peekval))
else:
break
Stack.append((index,cur))
head = head.next
index += 1 return R

使用一个栈结构用来记录数据,遍历整个链表,用当前节点的值“依次”与栈内各数字比较。

如果当前值>栈顶值,则栈顶元素进行“标记”,并出栈。一直到栈为空或者当前值<栈内值时,将当前值,入栈。

最后留在栈中的,都“标记”为0。这一步在初始化时就可以完成,因此最后就不用再处理了。

leetcode1019的更多相关文章

  1. [Swift]LeetCode1019. 链表中的下一个更大节点 | Next Greater Node In Linked List

    We are given a linked list with head as the first node.  Let's number the nodes in the list: node_1, ...

  2. leetcode1019 Next Greater Node In Linked List

    """ We are given a linked list with head as the first node. Let's number the nodes in ...

随机推荐

  1. pytest.10.使用fixture参数化测试预期结果

    From: http://www.testclass.net/pytest/test_api_with_expected_result/ 背景 接上一节v2ex网站的查看论坛节点信息的api. 我们在 ...

  2. STL进阶--狡猾的反向迭代器

    反向迭代器 两种声明反向迭代器的方法 reverse_iterator<vector<int>::iterator> ritr; vector<int>::reve ...

  3. Android WebView 开发详解

    Android WebView 开发详解 参见 http://blog.csdn.net/typename/article/details/39030091

  4. PAT 乙级 1003 我要通过!(20) C++版

    1003. 我要通过!(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue “答案正确”是自动判题系统给出的最 ...

  5. windows修改远程桌面端口3389

    regedit 按照路径打开,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-T ...

  6. angular的subscribe

    angular中可以使用observable和subscribe实现订阅,从而实现异步. 这里记录一个工作中的小问题,以加深对subscribe的理解.前端技能弱,慢慢积累中. 本来希望的是点击一个按 ...

  7. [UE4]制作缩略图

    一.创建一个专门用来做缩略图的角色CameraCharacter,不需要实体模型. 二.Auto Possess Player设置为“Player 0” 三.重力比例改成0(这样在天上的时候就不会往下 ...

  8. 使用unbound提供DNS域名解析服务

    使用unbound提供DNS域名解析服务 # 作者:Eric # 微信:loveoracle11g # 先配yum仓库 [root@server1 ~]# cd /etc/yum.repos.d/ [ ...

  9. spark 2.0.0集群安装与hive on spark配置

    1. 环境准备: JDK1.8 hive 2.3.4 hadoop 2.7.3 hbase 1.3.3 scala 2.11.12 mysql5.7 2. 下载spark2.0.0 cd /home/ ...

  10. 网络爬虫2:使用crawler4j爬取网络内容

    https://github.com/yasserg/crawler4j 需要两个包: crawler4j-4.1-jar-with-dependencies.jar slf4j-simple-1.7 ...