本文共 712 字,大约阅读时间需要 2 分钟。
字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。
示例1:
输入:“aabcccccaaa” 输出:“a2b1c5a3”
示例2:
输入:“abbccd” 输出:“abbccd” 解释:“abbccd"压缩后为"a1b2c2d1”,比原字符串长度更长。
题解:用一个来记录num,一个来记录字符,对1~length-1之间的长度进行判别,相等则数量+1,不相等,则结果记录并标记归0.运行结束将最后那部分添加好,并判断字符串长度
package com.lcz.leetcode;/** * 面试题01.06 字符串压缩 * @author LvChaoZhang * */import java.util.*;public class Leetcode_interview01_06 { class Solution{ public String compressString(String s) { if(s==null || s.length()<2) { return s; } StringBuilder res = new StringBuilder(); // 标记 int num = 1; char c = s.charAt(0); for(int i=1;i=s.length()?s:res.toString(); } }}
转载地址:http://jzwdf.baihongyu.com/