力扣1019.链表中的下一个更大节点

力扣1019.链表中的下一个更大节点

  • 从左到右

    • 每个数确定下一个更大节点后 弹出
    • 栈中存下标 即res.size()
cpp 复制代码
  class Solution {
  public:
      vector<int> nextLargerNodes(ListNode* head) {
          vector<int> res;
          stack<int> st;
          for(auto i=head;i;i=i->next)
          {
              while(!st.empty() && res[st.top()] < i->val)
              {
                  res[st.top()] = i->val;
                  st.pop();
              }
              st.emplace(res.size());
              res.push_back(i->val);
          }
          while(!st.empty())
          {
              res[st.top()] = 0;
              st.pop();
          }
          return res;
      }
  };
相关推荐
手握风云-15 分钟前
零基础Java第十六期:抽象类接口(二)
数据结构·算法
笨小古1 小时前
路径规划——RRT-Connect算法
算法·路径规划·导航
<但凡.1 小时前
编程之路,从0开始:知识补充篇
c语言·数据结构·算法
f狐0狸x2 小时前
【数据结构副本篇】顺序表 链表OJ
c语言·数据结构·算法·链表
Light602 小时前
低代码牵手 AI 接口:开启智能化开发新征程
人工智能·python·深度学习·低代码·链表·线性回归
paopaokaka_luck2 小时前
基于Spring Boot+Vue的多媒体素材管理系统的设计与实现
java·数据库·vue.js·spring boot·后端·算法
视觉小萌新2 小时前
VScode+opencv——关于opencv多张图片拼接成一张图片的算法
vscode·opencv·算法
乐悠小码2 小时前
数据结构------队列(Java语言描述)
java·开发语言·数据结构·链表·队列
2的n次方_2 小时前
二维费用背包问题
java·算法·动态规划
simple_ssn3 小时前
【C语言刷力扣】1502.判断能否形成等差数列
c语言·算法·leetcode