凑个热闹,犹记得当初只A了两题 public static String checkString(String str)     {         if(str==null||str.length()==0)         {             return str;         }         char[] strArray=str.toCharArray();         boolean[] flag=new boolean[strArray.length];         int curIndex=0;//当前嗅探位置         while(curIndex<strArray.length)         {             //最后一个字符或者和后一个字符不相同             if((curIndex==strArray.length-1)||strArray[curIndex]!=strArray[curIndex+1])             {                 curIndex++;             }             else             {                //连续三个字符                 int postIndex=curIndex+2;                 while(postIndex<strArray.length&&strArray[postIndex]==strArray[curIndex])                 {                     flag[postIndex]=true;                     postIndex++;                 }                 //保证不越界                 if(postIndex>=strArray.length-1)                 {                     curIndex=strArray.length;                 }                 else                  {                     while(strArray[postIndex]==strArray[postIndex+1])                     {                         flag[postIndex+1]=true;                         postIndex++;                     }                 }                 curIndex=postIndex;             }          }         for(int i=0;i<strArray.length;i++)         {             if(flag[i])             {                 strArray[i]='#';             }         }         return String.valueOf(strArray).replaceAll("#","");     }
点赞 评论

相关推荐

码农索隆:《211》《转正4k》😂,真给我整笑了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务