维护一个栈,每次将栈顶大于数组num当前值的元素弹出并加入数组元素
1)栈顶元素>nums[i]
循环弹出栈内此时所有大于nums[i]的值
2)栈顶元素<=nums[i] nums[i]入栈
function removeKnums( num , k ) {
// write code here
if(k===num.length)return '0'
var arr=[];
arr.push(num[0])
for(let i=1;i<num.length;i++){
//弹出所有大于nums[i]的
while(k>0&&arr.length!=0&&arr[arr.length-1]>num[i]){
var top=arr.pop();
k--;
}
//去除前导0
if(arr.length===0&&num[i]==='0')continue
arr.push(num[i])
}
//如果是空数组,直接返回0
return arr.length===0?'0':arr.splice(0,arr.length-k).join('')
}
module.exports = {
removeKnums : removeKnums
};
京公网安备 11010502036488号