zoukankan      html  css  js  c++  java
  • Leetcode记录-Q38-外观数列

    解题思路

    典型的递归调用

    1. 1
      
    2. 11
      
    3. 21
      
    4. 1211
      
    5. 111221
      

    循环调用前一次的结果,进行计数。当n=1时,递归结束,返回1.

    代码

    class Solution {
        public String countAndSay(int n) {
             if (n == 1) {
                return "1";
            }
            String s = countAndSay(n - 1);
            StringBuilder sb = new StringBuilder();
            int cnt = 0;
            for (int i = 0; i < s.length(); i++) {
                if (i == s.length() - 1) {
                    cnt++;
                    sb.append(cnt).append(s.charAt(i));
                } else if (s.charAt(i) == s.charAt(i + 1)) {
                    cnt++;
                    continue;
                } else {
                    sb.append(cnt+1).append(s.charAt(i));
                    cnt=0;
                }
            }
            return sb.toString();
        }
    }
    
  • 相关阅读:
    Java基础回顾---JVM&JDK&JRE
    学习
    学习
    学习
    进度
    进度
    毕设进度
    学习进度
    Beta阶段项目总结
    第二阶段冲刺——seven
  • 原文地址:https://www.cnblogs.com/jason0529/p/13678078.html
Copyright © 2011-2022 走看看