public class Main {
public static String solution(String inp) {
StringBuffer sb = new StringBuffer();
int sb_len = 1;
for (int i = 0; i < inp.length()-1; i++) {
if(inp.charAt(i) != inp.charAt(i+1))
sb_len++;
else{
if(sb_len > sb.length())
sb = new StringBuffer(inp.substring(i-sb_len+1,i+1));
sb_len = 1;
}
}
if(sb_len > sb.length())
sb = new StringBuffer(inp.substring(inp.length()-sb_len,inp.length()));
if(sb.length() < 3)
return "";
if(sb_len == inp.length())
return inp;
System.out.println(sb);
return sb.toString();
}
}
思路如下:
1.首先定义临时变量sb_len以及可变字符串sb
2.遍历字符串找到最长的神奇数列即可
3.返回时要注意条件