示例代码 登录后复制 class Solution { public: vector<int> nextGreaterElements(vector<int>& temperatures) { int len=temperatures.size(); stack<int> stk; vector<int> res(len,-1); for(int i=0;i<len*2;i++){ while(!stk.empty()){ int topElem=stk.top(); if(temperatures[topElem]<temperatures[i%len]){ stk.pop(); res[topElem]=temperatures[i%len]; }else{ break; } } stk.push(i%len); } return res; } }; 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21. 效果展示 原创作者: u_15305087 转载于: https://blog.51cto.com/u_15305087/11829940