当前位置: 首页 > news >正文

建设定制网站温州网站搭建

建设定制网站,温州网站搭建,开发公司的一般利润率2020,什么是oa系统1. 转换小写字母 LeetCode709:给你一个字符串s,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 每个字母都是有确定的ASCII的,可以根据码表操作子字符串,常见的ASCII范围是: a-z: 97-122, …

1. 转换小写字母

LeetCode709:给你一个字符串s,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。

每个字母都是有确定的ASCII的,可以根据码表操作子字符串,常见的ASCII范围是:

a-z: 97-122, A-Z: 65-90, 0-9: 48-47

将大写字母转换为小写字母,只需在原来的ASCII基础上加上32即可

代码:

public static String toLowerCase(String s){int n = s.length();//将字符串转换为字符数组char[] chars = s.toCharArray();for (int i = 0; i < n; i++) {if (chars[i] >= 65 && chars[i] <= 90){chars[i] += 32;}}String str = new String(chars);return str;}

2. 字符串转换整数

LeetCode8. 本体的题目较长,看原文:

请你来实现一个myAtoi(string s)函数,使其能将字符串转换成一个32位有效符号整数(类似C/C++中的atoi函数)。

函数myAtoi的算法如下:

  1. 读入字符串并丢弃无用的前导空格

  2. 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。

  3. 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。

  4. 将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。如果没有读入数字,则整数为 0 。必要时更改符号(从步骤 2 开始)。

  5. 如果整数数超过 32 位有符号整数范围 [−231, 231 − 1] ,需要截断这个整数,使其保持在这个范围内。具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1

  6. 返回整数作为最终结果。

    注意:

    • 本题中的空白字符只包括空格字符 ' '

    • 除前导空格或数字后的其余字符串外,请勿忽略 任何其他字符。

示例 1:

输入:s = "42"
输出:42
解释:加粗的字符串为已经读入的字符,插入符号是当前读取的字符。
第 1 步:"42"(当前没有读入字符,因为没有前导空格)^
第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')^
第 3 步:"42"(读入 "42")^
解析得到整数 42 。
由于 "42" 在范围 [-231, 231 - 1] 内,最终结果为 42 。

示例2:

输入:s = "   -42"
输出:-42
解释:
第 1 步:"   -42"(读入前导空格,但忽视掉)^
第 2 步:"   -42"(读入 '-' 字符,所以结果应该是负数)^
第 3 步:"   -42"(读入 "42")^
解析得到整数 -42 。
由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42 。

示例 3:

输入:s = "4193 with words"
输出:4193
解释:
第 1 步:"4193 with words"(当前没有读入字符,因为没有前导空格)^
第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+')^
第 3 步:"4193 with words"(读入 "4193";由于下一个字符不是一个数字,所以读入停止)^
解析得到整数 4193 。
由于 "4193" 在范围 [-231, 231 - 1] 内,最终结果为 4193 。

示例 4:

输入:s = "-9923762348723" 输出:-2147483648 解释: 第 1 步:"-9923762348723"(当前没有读入字符,因为没有前导空格) ^ 第 2 步:"-9923762348723"(读入 '-' 字符,所以结果应该是负数) ^ 第 3 步:"-9923762348723"(读入 9923762348723) ^ 解析得到整数 -9923762348723 。 由于 "-9923762348723" 小于范围 [-231, 231 - 1] 内,最终结果被截断为 -21474836483 。

如果看懂示例那么这个题目你基本上就会了,

几个要点:

  1. 根据示例1,要去掉前导空格,

  2. 根据示例2,有判断去掉空格后的第一个字符为+和-的情况,默认是+,用sign标识,初始化是1,遇到-号的时候,修正为-1.

  3. 判断是否是数字,用ASCII比较,'0' <= c <='9',0如果在前面要将其去掉。

  4. 根据示例3,在遇到不是数字的时候要停止,

  5. 根据示例4,要在循环内部判断最后是否超出int类型的范围,

注意事项:

1. (res == Integer.MAX_VALUE / 10 && (currchar - '0') > Integer.MAX_VALUE % 10)

        这段代码判断是最后一位,判断当前res再加1位,是否会越界

2. res = res * 10 + sign * (currchar - '0');

        代表每次都是带着符号相加,负号的话,每次相加都是负号

代码:

    public static int myAtoi(String str){int len = str.length();char[] charArray = str.toCharArray();//1.去掉空格int index = 0;while (index < len && charArray[index] == ' '){index++;}//2.如果已经遍历完成,针对极端(“  ”)全是空格if (index == len){return 0;}//3.如果出现符号字符,仅第一个有效,记录正负int sign = 1;char firstchar = charArray[index];if (firstchar == '+'){index++;} else if (firstchar == '-') {index++;sign = -1;}//4.将后面的字符进行转换,题目要求不能用long类型int res = 0;while (index < len){char currchar = charArray[index];//4.1 先判断不合法的情况if (currchar > '9' || currchar < '0'){break;}//判断越界情况//提前乘10,可能会直接越界,所以使用Integer.MAX_VALUE/10,这样一定不会越界//if后面的判断是最后一位,判断当前res再加1位,是否会越界if (res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && (currchar - '0') > Integer.MAX_VALUE % 10)){return Integer.MAX_VALUE;}if (res > Integer.MIN_VALUE / 10 || (res == Integer.MIN_VALUE / 10 && (currchar - '0') > Integer.MIN_VALUE % 10)){return Integer.MIN_VALUE;}//合法的情况,把每一步的符号都成进去,//想想为什么带着,sign乘,-‘0’是将字符转换为整数,带上sign乘代表每次都是带着符号相加,比如负数就所有负数相加res = res * 10 + sign * (currchar - '0');index++;}return res;}

http://www.yayakq.cn/news/341363/

相关文章:

  • 临海城市建设网站建设银行反钓鱼网站
  • asp.net网站开发典型模块与实例精讲大作设计网站官网入口
  • 网站 扩展嵌入式开发面试题
  • 程序员做网站美工能过关吗视频网站能备案吗
  • 做墙绘一般在哪个网站百度投诉中心24小时电话
  • 如何设计服装网站规划广州市财经商贸职业学校
  • 企业网站源码 thinkphp建好的网站能修改吗
  • 临沂做网站推广的公司在哪个网站可以自助建站
  • 热点链接到另一个网站怎么做网店装修素材网站
  • 深圳网站建_企业网站设计定制如何网站专题制作
  • 如何创建个人网站赚钱个人简历范本
  • 备案 网站名称 怎么改网站调用时间
  • 网站建设购买数据库的流程图网站服务器免费申请
  • 数据网站排名工控机做网站服务器
  • 免费建工作室网站庆阳网站设计
  • 装修效果图网站推荐商丘网站seo
  • 网站建设 课程 说明网址大全2345qiren
  • 网站运营推广难做如何使用爱站网
  • 营销神器官方网站济南做网站公司xywlcn
  • 浏览器怎么打开网站服务器wordpress作者 页面
  • 长春建站公司网站网站为什么改版
  • 网站建设需要哪些职位北京seo网络推广
  • 海南行指三亚网站开发如何打造电商平台
  • 门户网站部署方案排版 网站
  • 宝塔做网站网页编辑器安卓版
  • 网站网站制作费用怎么下载1688上的视频
  • 网站排名logo怎么做08 iis创建网站
  • 贵阳公司网站建设全球网站建设服务商
  • 做养生的网站多吗新吴区推荐做网站价格
  • 做网站考什么赚钱品牌的定义