2259. 移除指定数字得到的最大结果
标签:简单,枚举
题目:给你一个表示某个正整数的字符串 number
和一个字符 digit
。
从 number
中 恰好 移除 一个 等于 digit
的字符后,找出并返回按 十进制 表示 最大 的结果字符串。生成的测试用例满足 digit
在 number
中出现至少一次。
思路:
- 创建一个升序集合set,用于存放满足从
number
中 恰好 移除 一个 等于digit
的字符后的字符串 - 对比number中的每个字符,等于digit时,用拼接的方法将此字符移除,移除后的新字符串存入set集合中
- 返回最大结果的字符串
代码如下:
class Solution {
public String removeDigit(String number, char digit) {
SortedSet<String> set = new TreeSet<String>();
for(int i = 0; i < number.length(); i++){
if(number.charAt(i) == digit){
set.add(number.substring(0,i).concat(number.substring(i+1)));
}
}
return set.last();
}
}