这个题的题目我愣是没看懂什么意思,后来参考中文翻译才明白是啥意思
题目链接
public class Solution {
public String countAndSay(int n) {
String str=new String("1");
StringBuilder strtmp=new StringBuilder();
if(n==1)
{
return str;
}
for(int i=1;i<n;i++)
{
strtmp.delete(0, strtmp.length());
int j=0;
while(j<str.length())
{
//ini
int number=str.charAt(j)-'0';
int count=0;
int currentNumber=str.charAt(j+count)-'0';
//process
while(currentNumber==number)
{
count++;
if(j+count<str.length())
{
currentNumber=str.charAt(j+count)-'0';
}
else
{
break;
}
}
//get
strtmp.append(count);
strtmp.append(number);
j+=count;
}
str=strtmp.toString();
}
return str;
}
}
本文通过解析Count and Say算法问题,提供了一种清晰的解决方案。文章详细解释了如何通过Java实现这一递归过程,帮助读者理解Count and Say背后的逻辑。
493

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



