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. R语言学习路线图-转帖

    本文分为6个部分,分别介绍初级入门,高级入门,绘图与可视化,计量经济学,时间序列分析,金融等. 1.初级入门 <An Introduction to R>,这是官方的入门小册子.其有中文版 ...

  2. Ubuntu 14.10 下安装rabbitvcs-版本控制

    在Windows下用惯了TortoiseSVN这只小乌龟,到了Ubuntu下很不习惯命令行的SVN,于是经过一番寻找安装了RabbitVCS这款SVN图形化前端工具(官方网站:http://rabbi ...

  3. [UE4]寻找敌人

  4. SCCM 2012 R2实战系列之三:独立主站点部署

    3.1 SCCM 2012 R2主站点的安装 SCCM 2012 R2跟以前的SCCM 2007不同的是多了一个管理中心站点的角色, 管理中心站点主要负责SCCM管理控制和报表查看. 主站点跟以往的S ...

  5. MySQL常用语句大全

    数据库操作:创建数据库create database database_name 查看数据库 show databases使用数据库use dbname删除数据库 drop database dbna ...

  6. 第32课 Linux内核链表剖析

    1. Linux内核链表的位置及依赖 (1)位置:{linux-2.6.39}\\include\linux\list.h (2)依赖 ①#include<linux\types.h> ② ...

  7. core 部署

    perfmoneventvwr 1.yum install mysql2.yum install libgdiplus-devel3.COMPlus_ThreadPool_ForceMinWorker ...

  8. css实战第三天小结

    1.谈一谈对层级的理解: 如果对两个并列的子元素都设置了相对于同一个父元素(如果没有设置父元素那么默认相对于浏览器而言)进行了定位(相对定位),则这两个都具有相同的层级(默认为0),他们的trbl也默 ...

  9. Windows Server 2012R2 网络地址转换NAT

    一.NAT概述 网络地址转换NAT(Network Address Translation)可以动态改变通过路由器的IP报文的内容(修改报文的源IP地址和/或目的IP地址).离开路由器的报文的源地址或 ...

  10. nvm use 指定版本后无效 win7

    如图所示,nvm install 6.12.3之后,使用命令nvm use 6.12.3,提示切换成功,但是执行node app.js时,报错没有node命令,执行nvm ls查看,发现没有任何版本是 ...