首页 > 其他 > 详细

Count and Say

时间:2015-06-11 02:08:50      阅读:290      评论:0      收藏:0      [点我收藏+]

The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, ...

1?is read off as?"one 1"?or?11.
11?is read off as?"two 1s"?or?21.
21?is read off as?"one 2, then?one 1"?or?1211.

Given an integer?n, generate the?nth?sequence.

Note: The sequence of integers will be represented as a string.

?

public class Solution {
    public String countAndSay(int n) {
        String s = "1";
        if (n == 1) {
        	return s;
        }
        for (int i = 2; i <= n; i++) {
        	int count = 0;
        	char ch = 0;
        	StringBuilder sb = new StringBuilder();
        	for (int j = 0; j < s.length(); j++) {
        		char c = s.charAt(j);
        		if (0!=count && c==ch) {
        			count++;
        		} else {
        			if (0!=count) {
        				sb.append(count).append(ch);
        			}
        			count = 1;
        			ch = c;
        		}
        	}
        	sb.append(count).append(ch);
        	s = sb.toString();
        }
        return s;
    }
}

?

Count and Say

原文:http://hcx2013.iteye.com/blog/2218514

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!