报数

  • 题目
  • 大致思路
  • 代码实现

题目

大致思路

  1. 本题,首先看出是一道递归题,然后利用StringBuilder的append方法,将所有的类型转换为字符类型,并且进行拼接。细节见注释。

代码实现

public String countAndSay(int n) {// 第一个报数if (n == 1)return "1";// 递归取得上一轮报数得到的字符串,然后根据此字符串进行报数String former = countAndSay(n - 1);// 获取字符串的第一个数字,char first = former.charAt(0);// 标记量int count = 1;// 创建StringBuilder对象sbStringBuilder sb = new StringBuilder();// 对我们拿到的上一轮的字符串former进行遍历,如果重复了,则先拼接字符串,再将计数count归1.for (int i = 1; i < former.length(); i++) {if (former.charAt(i) != first) {sb.append(count);sb.append(first);first = former.charAt(i);count = 1;} else {count++;}}//最后再对字符进行拼接即可。sb.append(count);sb.append(first);return sb.toString();}

20190824:(leetcode习题)报数相关推荐

  1. JVAV学习小练习(一)之leetcode习题之接雨水

    leetcode习题之接雨水 一.题目描述 给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水.(图片是从leetcode拉过来的) ...

  2. LeetCode 38. 报数

    1. 题目 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数.其前五项如下: 1 11 21 1211 111221 1 被读作 "one 1" ("一 ...

  3. leetcode @38报数-js

    题目 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数.其前五项如下: 1 复制代码 11 复制代码 21 复制代码 1211 复制代码 111221 复制代码 1 被读作  &qu ...

  4. C++ 链表 leetcode习题总结

    链表的实现 struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(null ...

  5. 20191026(补):(leetcode习题)最长的斐波那契子序列的长度

    最长的斐波那契子序列的长度 题目 大致思路 代码实现 题目 给定一个严格递增的正整数数组形成序列,找到 A 中最长的斐波那契式的子序列的长度.如果一个不存在,返回 0 . 两个示例: 输入: [1,2 ...

  6. 20191023:(leetcode习题)最大连续1的个数 III

    最大连续1的个数 III 题目 大致思路 代码实现 题目 给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 .返回仅包含 1 的最长(连续)子数组的长度. 输入:A ...

  7. 20191021:(leetcode习题)乘积小于K的子数组

    乘积小于K的子数组 题目 大致思路 代码实现 题目 给定一个正整数数组 nums.找出该数组内乘积小于 k 的连续的子数组的个数. 输入: nums = [10,5,2,6], k = 100 输出: ...

  8. 20191019:(leetcode习题)第K个语法符号

    第K个语法符号 题目 大致思路 代码实现 题目 在第一行我们写上一个 0.接下来的每一行,将前一行中的0替换为01,1替换为10. 给定行数 N 和序数 K,返回第 N 行中第 K个字符.(K从1开始 ...

  9. 20191016:(leetcode习题)寻找两个有序数组的中位数

    寻找两个有序数组的中位数 题目 大致思路 代码实现 题目 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log( ...

最新文章

  1. linux串口工具 SRT,汇编语言实现串口通信(PC和单片机间).doc
  2. mysql修改表和列
  3. 【ios】NSMutableArray initWithContentOfFile 得到nil后无法进行addObject的问题
  4. 计划策略-30-按销售与库存订单以批量生产
  5. win7优化设置_win7优化性能的操作步骤
  6. 岁月在流逝,从阿里退下来接近70后程序猿带给我的启示
  7. js正则表达式详细教程
  8. Fragment学习1--生命周期
  9. 6、mysql与suse查看版本信息
  10. 《认清C++语言》---接口继承和实现继承
  11. ubuntu安装流媒体服务器(nginx+rtmp,rtsp转rtmp,rtsp转m3u8)
  12. dnf服务器地址修改,修改dnf单机服务器地址
  13. 20210219 plecs为不同的PWM 配置不同的死区时间
  14. Homegrown【翻译】
  15. 微信小程序-----消息模版(最全解释)
  16. SSL基础:25:一键生成HTTPS服务器所用证书
  17. SpringBoot整合j2cache缓存
  18. python识别图片文字、并返回文字坐标_PyAutoGui 图片识别+定位+截图函数文档
  19. MySQL数据库密码破解
  20. 高师培训计算机心得体会,培训学习心得体会范文

热门文章

  1. 用 Go 重构 C 语言系统,这个抗住春晚红包的百度转发引擎承接了万亿流量
  2. 小程序的侵权“生死局”
  3. 程序员如何用“撞针“拯救 35 亿地球人?
  4. 万恶的华为,落魄的爱立信
  5. JAVA day07 权限,封装,JavaBean(规范代码),static、final关键字
  6. 计算机作为信息处理工具 应用于科学研究,计算机2013春分章节试题及答案.doc
  7. ubuntu合并终端_技术|初级:如何在终端及图形界面中更新 Ubuntu
  8. java foxmail 附件_使用java实现与foxmail邮箱的接受,发送,转发等功能!!求精啊...
  9. java中数组的返回值是什么类型_面试必问:Java中String类型为什么设计成不可变的?...
  10. java循环嵌套显示不全_循环嵌套问题