Leetcode 38,Count and say

//思路:两重循环,第一重循环循环个数,第二重循环判断已生成字符,或者增加数量,或者把数字和字符加上。
//答案用这个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;
}

阅读更多
个人分类: 技术文章
上一篇Leetcode 28, Strstr
下一篇Leetcode 153, 154 Find Minimum in Rotated Sorted Array I, II
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭