关闭

Leetcode 38,Count and say

58人阅读 评论(0) 收藏 举报
分类:
//思路:两重循环,第一重循环循环个数,第二重循环判断已生成字符,或者增加数量,或者把数字和字符加上。
//答案用这个http://huntfor.iteye.com/blog/2059877(以下只是把ij换了下位置)。
public static String countAndSay(int n) {
	if (n <= 0) {
		return null;
	}
	String str = "1";
	int num = 1;
	for (int i = 0; i < n - 1; i++) {
		StringBuilder sb = new StringBuilder();
		//generate countAndSay based on sb
		for (int j = 0; j < str.length(); j++) {
			if (j + 1 < str.length() && str.charAt(j) == str.charAt(j + 1)) {
				num++;
			} else {
				sb.append(num + "" + str.charAt(j));
				num = 1;
			}
		}
		str = sb.toString();
	}
	return str;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13880次
    • 积分:303
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:36篇
    • 译文:0篇
    • 评论:1条
    文章分类