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 缓存机制

CF1030E Vasya and Good Sequences 最大值分治/容斥