维护一个栈,每次将栈顶大于数组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 };