
思路:遍历就好了,可以用一下memorization,存储一下已经判断过的节点。很简单,直接上代码。
class Solution {
public List<String> generatePossibleNextMoves(String s) {
Map<Integer,Boolean> mappings = new HashMap<>();
List<String> res = new ArrayList<>();
String copy = s;
for(int i = 0; i < s.length(); i++){
StringBuilder sb = new StringBuilder(s);
if(s.charAt(i) == '+'){
mappings.put(i,true);
if(i+1 <= s.length()-1 && s.charAt(i+1) == '+' ){
mappings.put(i+1, true);
sb.setCharAt(i,'-');
sb.setCharAt(i+1,'-');
s = sb.toString();
res.add(s);
s=copy;
}
}else{
continue;
}
}
return res;
}
}
总结:
- Sting 如何更改指定位置的字符:stringbuilder.setCharAt(index,char).这里要注意string无法直接更改指定位置字符,需要利用stringbuilder实现。
本文介绍了一种使用StringBuilder修改特定位置字符的方法,并通过一个示例展示了如何遍历字符串并更改匹配条件的字符。具体应用在判断和转换字符串中特定符号的状态。
786

被折叠的 条评论
为什么被折叠?



