解法一:字符串
遍历senate,遍历的同时删除另一种字符,若没有可删除的,继续遍历
class Solution {
public String predictPartyVictory(String senate) {
if (senate.length() == 1) return senate.charAt(0) == 'R' ? "Radiant" : "Dire";
String temp;
while (true){
temp = deal(senate);
if(temp.equals(senate)) return temp.charAt(0) == 'R' ? "Radiant" : "Dire";
else senate = temp;
}
}
public String deal(String senate){
StringBuilder stringBuilder = new StringBuilder(senate);
for (int i = 0; i < stringBuilder.length(); i++) {
int index;
if(stringBuilder.charAt(i) == 'R'){
// 删除一个D
if((index = stringBuilder.indexOf("D",i)) != -1){
stringBuilder.deleteCharAt(index);
}else if((index = stringBuilder.indexOf("D")) != -1) {
stringBuilder.deleteCharAt(index);
}
}else {
// 删除一个R
if((index = stringBuilder.indexOf("R",i)) != -1){
stringBuilder.deleteCharAt(index);
}else if((index = stringBuilder.indexOf("R")) != -1) {
stringBuilder.deleteCharAt(index);
}
}
}
return stringBuilder.toString();
}
}
8/14/23About 1 min