字符串专题

ACM
算法练习题
bingoabin

报数

public static String countAndSay(int n) {
   if (n == 1) {
      return "1";
   }
   //递归调用,然后对字符串处理
   String str = countAndSay(n - 1) + "*";//为了str末尾的标记,方便循环读数
   char[] c = str.toCharArray();
   int count = 1;
   StringBuilder s = new StringBuilder();
   for (int i = 0; i < c.length - 1; i++) {
      if (c[i] == c[i + 1]) {
         count++;//计数增加
      } else {
         //s.append(s);
         s.append("" + count + c[i]);//上面的*标记这里方便统一处理
         count = 1;//初始化
      }
   }
   return s.toString();
}

无重复最长子串

public int lengthOfLongestSubstring(String s) {
   HashMap<Character, Integer> hm = new HashMap<>();
   int result = 0;
   for (int i = 0, j = 0; j < s.length(); j++) {
      if (hm.containsKey(s.charAt(j))) {
    
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值