问题
给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node1, node2, node_3, ... 。...,如果不存在这样的 j,那么下一个更大值为 0 。...[2,7,4,3,5] 输出:[7,0,5,5,0]
在看解法之前,请大家先思考下,自己该怎么解决呢
解法一
笨办法,将链表转换为数组,双重for循环,依次找到每个元素的的下一个更大值,然后存储到数组,...解法二
遍历链表,将第一个元素入栈,第二元素和已入栈的元素比较,如果大于则将已入栈的元素弹出,将当前元素放入新链表的尾节点,继续和栈中的元素比较,还是大于的话,则将当前元素再放入新链表的尾节点,直到栈中没有元素或者碰到当前元素小于栈中的元素...,for循环链表,将链表的节点的值放入status中,同时比较下一个节点的值是否比当前节点的值,如果大于,将下一个节点的值添加result中,否则给result加0,最后循环result节点,发现不为0