您的位置:首页 > 其它

lintcode-删除数字-182

2015-09-10 14:15 253 查看
给出一个字符串 A, 表示一个 n 位正整数, 删除其中
k 位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。

找到删除 k 个数字之后的最小正整数。

N <= 240, k <= N



样例


给出一个字符串代表的正整数 A 和一个整数 k, 其中
A = 178542
,
k = 4


返回一个字符串
"12"


class Solution {
public:

string DeleteDigits(string A, int k) {
string ret;
if(A.empty())
return ret;
ret=A;
while(k--){
int i=0;
while(i<ret.length()-1&&ret[i]<=ret[i+1])
++i;
ret=ret.substr(0,i)+ret.substr(i+1);
}
int i;
for(i=0;ret[i]=='0';++i);
ret=ret.substr(i);
return ret;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: