leetcode 38 Count and Say
Posted hwd9654
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 38 Count and Say相关的知识,希望对你有一定的参考价值。
一个prev保存前一个状态,一个cur保存这次的状态每次按题意操作prev,然后赋值给cur
如何按题意操作呢?
1
11
21
1211
111221
一个变量say保存到目前为止相同的值,直到say和prev[i]不同,就给cur插入say的个数,和say的值,然后更新say为prev[i]
1 class Solution 2 public String countAndSay(int n) 3 StringBuilder cur = new StringBuilder("1"); 4 //char say = cur.charAt(0); 5 6 for(int i=1; i<n; i++) 7 StringBuilder prev = cur; 8 cur = new StringBuilder(); 9 int count = 1; 10 char say = prev.charAt(0); 11 12 for(int j=1; j<prev.length(); j++) 13 if(prev.charAt(j) != say) 14 cur.append(count).append(say); 15 count = 1; 16 say = prev.charAt(j); 17 else 18 count++; 19 20 21 cur.append(count).append(say); 22 23 return cur.toString(); 24 25
以上是关于leetcode 38 Count and Say的主要内容,如果未能解决你的问题,请参考以下文章