问题
例子
思路
换行符’\n’是单字符
字符串组合成一个完整的字符串,之间用\n隔开,然后遍历字符串,遇到//时,删除到\n, 遇到/,删除到/,最后的字符串再用\n分割开
代码
class Solution {
public List<String> removeComments(String[] source) {
StringBuilder sb = new StringBuilder();
List<String> list = new ArrayList<>();
for(int i=0; i<source.length; i++) {
sb.append(source[i]);
sb.append("\n");
}
int i=0;
while(i<sb.length()-1) {
if(sb.charAt(i)=='/' && sb.charAt(i+1)=='/') {
int a = i+2;
while(a<sb.length())
{
if(sb.charAt(a)=='\n') break;
else a++;
}
sb.delete(i,a);
}else{
if(sb.charAt(i)=='/' && sb.charAt(i+1)=='*'){
int a=i+2;
while(a<sb.length()-1){
if(sb.charAt(a)=='*' && sb.charAt(a+1)=='/') break;
else a++;
}
sb.delete(i,a+2);
}else{
i++;
}
}
}
String[] arr = sb.toString().split("\n");
System.out.println(sb);
for(String s : arr){
if(!s.equals("")) list.add(s);
}
return list;
}
}