案例1:写一个压缩字符串的方法,例如aaaabbcxxx,则输出a4b2c1x3。
public static String zipString(String str){
String result = "";//用于拼接新串的变量
char last = str.charAt(0);//用于获取下一个单个字符
int length = str.length();//获取字符串长度,用于遍历的条件
int count = 1;//计数器,用于记录每个字符重叠的次数
for(int i = 1 ; i<length ; i++){//从第二个索引开始判断
if(last==str.charAt(i)){//判断下一个字符是否与当前字符相等
count++;
}else{
result += last + "" +count;
last = str.charAt(i);//把当前字符给last变量
count = 1;//恢复计数器
}
}
String outString =result+last+count;
if(outString.length()==str.length())
return str;
else
return outString;
}
案例1:写一个压缩字符串的方法,例如aaaabbcxxx,则输出a4b2c1x3。的更多相关文章
- 收藏一个JavaScript字符串连接方法
最近在看一同事写的代码时,有一个字符串用了一堆"+"号,看了半天没明天到底会输出什么样的内容,就想到用字符串连接的类,把以前的方法写成了类的方式,方便调用.下面的类支持实例调用和静 ...
- Java压缩字符串的方法收集
说明: 1.一般来说要实现压缩,那么返回方式一般是用byte[]数组. 2.研究发现byte[]数组在转成可读的String时,大小会还原回原来的. 3.如果采用压缩之后不可读的String时,互相转 ...
- 都是用 DllImport?有没有考虑过自己写一个 extern 方法?
你做 .NET 开发的时候,一定用过 DllImport 这个特性吧,这货是用于 P/Invoke (Platform Invoke, 平台调用) 的.这种 DllImport 标记的方法都带有一个 ...
- [LeetCode] Design Compressed String Iterator 设计压缩字符串的迭代器
Design and implement a data structure for a compressed string iterator. It should support the follow ...
- C#压缩字符串
在论坛上看到一个压缩字符串的问题,特此记录以备后用! static string GetStringR(string inputStr) { return Regex.Replace(inputStr ...
- android 开发 写一个RecyclerView布局的聊天室,并且添加RecyclerView的点击事件
实现思维顺序: 1.首先我们需要准备2张.9的png图片(一张图片为左边聊天泡泡,一个图片为右边的聊天泡泡),可以使用draw9patch.bat工具制作,任何图片导入到drawable中. 2.需要 ...
- 自己写一个java的mvc框架吧(五)
自己写一个mvc框架吧(五) 给框架添加注解的支持 一段废话 上一章本来是说这一章要写视图处理的部分,但是由于我在测试代码的时候需要频繁的修改配置文件,太麻烦了.所以这一章先把支持注解的功能加上,这样 ...
- js定义一个处理字符串的函数
//定义一个处理字符串的方法 function StringBuffer(str){ var arr = []; str = str || ''; arr.push(str); //追加字符串 thi ...
- Oracle数据库分割字符串function方法
下面我直接上传一串代码源码, create or replace function strsplit(p_value varchar2, p_split varchar2 := ',') --usag ...
随机推荐
- Explorer Bo (思维 + 树链剖分)
题意:求用最少的链覆盖所有的边用最少的总链长度. 思路:为了使得使用的链最少,我们可以知道使用的数量应该是(子叶 + 1)/ 2. 画图可知:当节点下的边数是偶数时,为了将该父节点上的边给连接上,所以 ...
- GDB && QString
[1]GDB && QString GDB的print命令仅能打印基本数据类型,而像QString这样的复杂类型就无能为力了! 如果调试时不能看QString的值,很让人抓狂!!!幸好 ...
- hi3516a arm-hisiv300-linux-gcc jrtplib交叉编译
1.进入JThread-1.2.1文件夹 2../configure --prefix=/home/suxuandong/Documents/qth264/hi3516/jrtpjthreadhisi ...
- centos6.8卸载DB2 10.5
1.卸载实例 Ø 使用Root用户登陆 cd /opt/ibm/db2/V9.5/instance/ ./db2idrop db2inst1 ./dasdrop db2inst1 2.卸载db2 Ø ...
- mysql-day06
##视图 - 什么是视图:在数据库中存在多种对象,表和视图都是数据库中的对象,创建视图时名称不能和表重名,视图实际上就代表一段sql查询语句,也可以理解成视图是一张虚拟的表,此虚拟表中的数据会随着原表 ...
- linux系统电视盒子到底是什么
经常看到各种大神说今天刷了什么linux系统可以干嘛干嘛了,刷了乌班图可以干嘛干嘛了,但是身为一个小白,对这种名词都是一知半解.所以这边给大家科普一下,什么是linux系统?电视盒子刷了这个可以干啥? ...
- 关于DNS 和根证书你了解多少?
由于最近发生的一些事件,我们(Privacy Today 组织)感到有必要写一篇关于此事的短文.它适用于所有读者,因此它将保持简单 —— 技术细节可能会在稍后的文章发布. 什么是 DNS,为什么它与你 ...
- Java程序员秋招面经大合集(BAT美团网易小米华为中兴等)
Cvte提前批 阿里内推 便利蜂内推 小米内推 金山wps内推 多益网络 拼多多学霸批 搜狗校招 涂鸦移动 中国电信it研发中心 中兴 华为 苏宁内推 美团内推 百度 腾讯 招商银行信用卡 招银网络科 ...
- script 跳出小窗口
sss
- NATS—基础介绍
1. 介绍 NATS(Message bus): 从CloudFoundry的总架构图看,位于各模块中心位置的是一个叫nats的组件.NATS是由CloudFoundry的架构师Derek开发的一个开 ...