力扣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;
      }
  };
相关推荐
qq_296553272 分钟前
矩阵转置的两种实现方式:从暴力法到原地算法
数据结构·线性代数·算法·青少年编程·矩阵
2zcode3 分钟前
滚压表面强化过程中变形诱导位错演化与梯度晶粒细化机理的数值模拟研究
人工智能·python·算法
渣渣苏10 分钟前
硬核拆解 HNSW:亿级向量如何实现毫秒级召回?(下篇:实战调参与工程优化)
人工智能·算法·agent·向量数据库·hnsw·智能体
Felven19 分钟前
A. Candies for Nephews
算法
白藏y23 分钟前
【算法】常见基础算法
算法
shylyly_24 分钟前
内存函数的使用和实现
数据结构·算法
时空自由民.26 分钟前
两轮平衡车控制系统
算法
吃好睡好便好35 分钟前
Matlab中三种三维图的对比
开发语言·人工智能·学习·算法·matlab·信息可视化