leetcode1019
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的更多相关文章
- [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, ...
- 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 ...
随机推荐
- R语言学习路线图-转帖
本文分为6个部分,分别介绍初级入门,高级入门,绘图与可视化,计量经济学,时间序列分析,金融等. 1.初级入门 <An Introduction to R>,这是官方的入门小册子.其有中文版 ...
- Ubuntu 14.10 下安装rabbitvcs-版本控制
在Windows下用惯了TortoiseSVN这只小乌龟,到了Ubuntu下很不习惯命令行的SVN,于是经过一番寻找安装了RabbitVCS这款SVN图形化前端工具(官方网站:http://rabbi ...
- [UE4]寻找敌人
- SCCM 2012 R2实战系列之三:独立主站点部署
3.1 SCCM 2012 R2主站点的安装 SCCM 2012 R2跟以前的SCCM 2007不同的是多了一个管理中心站点的角色, 管理中心站点主要负责SCCM管理控制和报表查看. 主站点跟以往的S ...
- MySQL常用语句大全
数据库操作:创建数据库create database database_name 查看数据库 show databases使用数据库use dbname删除数据库 drop database dbna ...
- 第32课 Linux内核链表剖析
1. Linux内核链表的位置及依赖 (1)位置:{linux-2.6.39}\\include\linux\list.h (2)依赖 ①#include<linux\types.h> ② ...
- core 部署
perfmoneventvwr 1.yum install mysql2.yum install libgdiplus-devel3.COMPlus_ThreadPool_ForceMinWorker ...
- css实战第三天小结
1.谈一谈对层级的理解: 如果对两个并列的子元素都设置了相对于同一个父元素(如果没有设置父元素那么默认相对于浏览器而言)进行了定位(相对定位),则这两个都具有相同的层级(默认为0),他们的trbl也默 ...
- Windows Server 2012R2 网络地址转换NAT
一.NAT概述 网络地址转换NAT(Network Address Translation)可以动态改变通过路由器的IP报文的内容(修改报文的源IP地址和/或目的IP地址).离开路由器的报文的源地址或 ...
- nvm use 指定版本后无效 win7
如图所示,nvm install 6.12.3之后,使用命令nvm use 6.12.3,提示切换成功,但是执行node app.js时,报错没有node命令,执行nvm ls查看,发现没有任何版本是 ...