题目描述
给你一个字符串 s,字符串s首尾相连成一个环形 ,请你在环中找出 ‘o’ 字符出现了偶数次最长子字符串的长度。
输入描述
输入是一串小写字母组成的字符串
备注
1 <= s.length <= 5 x 10^5
s 只包含小写英文字母
输出描述
输出是一个整数
示例1
输入
alolobo
输出
6
示例2
输入
looxdolx
输出
7
示例3
输入
bcbcbc
输出
6
思路
如果‘o’ 是偶数, 最长子串就是本身
如果‘o’ 是奇数, 环在o处断开,减少一个‘o’, 最长子串就是字符串长度-1。
代码
public class Demo12 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String s = in.nextLine();
int num = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'o') {
num++;
}
}
if (num % 2 == 0) {
System.out.println(s.length());
} else {
System.out.println(s.length() - 1);
}
}
in.close();
}
}