跳转至

3798. 最大的偶数

题目描述

给你一个仅由字符'1''2'组成的字符串s

你可以删除字符串s中的任意数量的字符,但必须保持剩余字符的顺序不变。

返回可以表示 偶数 整数的 最大结果字符串 。如果不存在这样的字符串,则返回空字符串""

 

示例 1:

输入: s = "1112"

输出: "1112"

解释:

该字符串已经表示了最大的偶数,因此不需要删除任何字符。

示例 2:

输入: s = "221"

输出: "22"

解释:

删除'1'后,可以得到最大的偶数,即 22。

示例 3:

输入: s = "1"

输出: ""

解释:

无法通过删除字符得到偶数。

 

提示:

  • 1 <= s.length <= 100
  • s 仅由字符 '1''2' 组成。

解法

方法一

1
2
3
class Solution:
    def largestEven(self, s: str) -> str:
        return s.rstrip("1")
1
2
3
4
5
6
7
8
9
class Solution {
    public String largestEven(String s) {
        int i = s.length();
        while (i > 0 && s.charAt(i - 1) == '1') {
            i--;
        }
        return s.substring(0, i);
    }
}
1
2
3
4
5
6
7
8
9
class Solution {
public:
    string largestEven(string s) {
        while (!s.empty() && s.back() == '1') {
            s.pop_back();
        }
        return s;
    }
};
1
2
3
func largestEven(s string) string {
    return strings.TrimRight(s, "1")
}
1
2
3
function largestEven(s: string): string {
    return s.replace(/1+$/, '');
}

评论