1030.链表中下一个最大的节点
Posted cznczai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1030.链表中下一个最大的节点相关的知识,希望对你有一定的参考价值。
这道题就是找自己大的那个数就好 简单的解法
class Solution
public int[] nextLargerNodes(ListNode head)
int arr[] = new int[100001];
int flag = 0;
while (head != null)
arr[flag++] = head.val;
head = head.next;
int res[] = new int[flag];
for (int i = 0; i < flag; i++)
for (int k = i + 1; k < flag; k++)
if (arr[k] > arr[i])
res[i] = arr[k];
break;
return res;
后面增加用栈解的方法
class Solution
public int[] nextLargerNodes(ListNode head)
ArrayList<Integer> al = new ArrayList<Integer>();
while(head!=null)
al.add(head.val);
head = head.next;
int res[] = new int [al.size()];
Stack<Integer> s = new Stack<Integer>();
for (int i = 0; i < al.size(); ++i)
while (!s.isEmpty() && al.get(s.peek()) < al.get(i))
res[s.pop()] = al.get(i);
s.push(i);
return res;
以上是关于1030.链表中下一个最大的节点的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode-1030 Next Greater Node In Linked List(链表中的下一个更大节点)
2058. 找出临界点之间的最小和最大距离 的 详细解法(遍历链表)
链表节点的删除(删除链表当中最大值,如果有重复值只删除一个)
LeetCode 1877. 数组中最大数对和的最小值/剑指 Offer 52. 两个链表的第一个公共节点/146. LRU 缓存机制