Leetcode 38 Count and Say
程序员文章站
2022-03-23 18:13:05
...
思路:recursive做法。要求n,就要知道n-1的解,根据n-1的解来算n的解。思路很简单,就是遍历string。注意边界问题。直接放代码:
class Solution {
public String countAndSay(int n) {
//basic case
if(n == 1){return "1";}
String pre = countAndSay(n-1);
String res = "";
for(int i = 0; i < pre.length(); i++){
int count = 0;
for(int j = i; j < pre.length(); j++){
if(pre.charAt(i) == pre.charAt(j)){
count++;
if(j == pre.length() -1){
res += String.valueOf(count);
res += pre.charAt(i);
i = j; //打破全部循环
}
}else{
res += String.valueOf(count);
res += pre.charAt(i);
i = j - 1; //打破内部循环
break;
}
}
}
return res;
}
}
总结:
- convert int to string: String.valueOf(int i)
- convert string to int : Integer.parseInt(string s) & Integer.valueOf(String)
下一篇: 上班族缓解眼疲劳喝什么茶