字符串“aabcccccaaa”压缩成“a2b1c5a3“还要返回更

闲聊 闲聊 1301 人阅读 | 0 人回复

<
题目疑息
144958ipgocqoeodczqlde.jpg

解题办法单指针遍历
  创立ch,让它获得S的第一个字符,界说计数器count初初化为1,接下去让ch战S的下一个字符比力,假设他们相称,count+1,没有念等的话,创立一个StringBuilder的真例工具ans,让ans利用append办法,拼接当前的ch,再拼接它的count,让把当前的字符赋给ch,计数器回1,持续停止轮回。轮回结束后把最初的ch战他的count增加到ans里。返回ans战S.length的较小值。
代码完成
  1. class Solution {
  2.     public String compressString(String S) {
  3.         if(S.length()==0){
  4.             return  S;
  5.         }
  6.        StringBuilder  ans=new StringBuilder();
  7.        char  ch=S.charAt(0);
  8.        int count=1;
  9.         for (int i = 1; i <S.length() ; i++) {
  10.             if(ch==S.charAt(i)){
  11.                 count++;
  12.             }
  13.           else {
  14.                 ans.append(ch);
  15.                 ans.append(count);
  16.                    ch=S.charAt(i);
  17.           count=1;
  18.             }
  19.       
  20.         }
  21.                  ans.append(ch);
  22.                 ans.append(count);
  23.         return ans.length() >=S.length() ? S: ans.toString();
  24.         
  25.     }   
  26.     }
复造代码
假设以为没有错的话,能够看看我的其他题解
怎样把i am a student顺置成student a am i?口试题顺置字符串讲解
三种办法任君选择 LeetCode_136只呈现一次的数字
甚么?静态计划10止供出持续子数组的最年夜战 剑指offer-42讲解
剑指 Offer 39. 数组中呈现次数超出一半的数字 简朴易懂14止弄定 。大家皆可会
两叉树的层序遍历道理+LeetCode实题操练
LeetCode 24:两两交流链表中的节面,1662. 查抄两个字符串数组能否相称
LeetCode 第两十一题
剑指 Offer 58 - II. 左扭转字符串的三种解法一同看看吧!!

免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作!
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,按照目前互联网开放的原则,我们将在不通知作者的情况下,转载文章;如果原文明确注明“禁止转载”,我们一定不会转载。如果我们转载的文章不符合作者的版权声明或者作者不想让我们转载您的文章的话,请您发送邮箱:Cdnjson@163.com提供相关证明,我们将积极配合您!
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并自负版权等法律责任。
回复 关闭延时

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则