力扣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;
      }
  };
相关推荐
Jerry4 小时前
LeetCode 160. 相交链表
算法
Jerry5 小时前
LeetCode 19. 删除链表的倒数第 N 个结点
算法
金銀銅鐵5 小时前
费马小定理
python·数学·算法
技术不好的崎鸣同学6 小时前
[ACTF2020 新生赛]Exec 思路及解法
算法·安全·web安全
Full Stack Developme7 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
Jerry9 小时前
LeetCode 707. 设计链表
算法
C语言小火车9 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
weixin_400005609 小时前
Vision-Language-Action:LMDrive双损失函数训练模块与 LangAuto 基准评测框架
人工智能·深度学习·算法·机器学习·自动驾驶
kebidaixu9 小时前
两轮BMS AFE SH367306 I2C 读写时序
算法