
思路:ASCll码中,a-z:97-122 A-Z:65-90
小写转大写-32,大写转小写+32
- class Solution {
- public String toLowerCase(String s) {
- int len = s.length();
- StringBuilder str = new StringBuilder();
- for(int i = 0;i
- char c = s.charAt(i);
- if(c >= 'A' && c <='Z'){
- c += 32;
- }
- str.append(c);
- }
- return str.toString();
- }
- }
2.字符串转换整数

思路:判断各种边界值,res直接*10会溢出,需要进行大小判断,如何判断?
一般res*10>max说明越界,转换一下res>max/10说明越界
但是这里有个问题如果一个数字为2147483648,res == max/10
这时需要(max-str[i]) / 10,如果res的最后一位数大于7,那么res>max/10
- class Solution {
- public int myAtoi(String s) {
- char[] str = s.toCharArray();
- int sign = 1;
- int res = 0;
- int loop = 0;
- int max = Integer.MAX_VALUE;
- for(int i = 0;i
- if(loop == 1 && (str[i] == '-' || str[i] == '+'||str[i] == ' ')){
- break;
- }
- if(str[i]=='-'){
- sign = -1;
- loop = 1;
- continue;
- }
- if(str[i] == '+'){
- loop =1;
- continue;
- }
- if(str[i] != ' ' && (str[i]<'0' || str[i] >'9')){
- break;
- }
- if(str[i]>='0' && str[i] <='9'){
- int d = str[i] - '0';
- if(sign == 1 && (max- d)/10< res){
- return max;
- }
- if(sign == -1 && (max - d) / 10 < res){
- return -max - 1;
- }
- res = res*10 + d;
- loop = 1;
- }
-
- }
- return res*sign;
- }
- }
-
相关阅读:
单目标追踪——【孪生网络】SiamMask论文阅读笔记
CSS位置偏移反爬虫绕过
计算机毕业设计之java+javaweb的新冠疫情下的校园出入系统
数字探秘:用神经网络解密MNIST数据集中的数字!
SQL执行计划生成
【MySQL】MySQL体系结构与内部组件工作原理解析(原理篇)(MySQL专栏启动)
推荐算法效果不佳时的检查清单
Leetcode算法训练日记 | day35
使用gluon实现简单的CNN
15 分钟带你感受 CSS :has() 选择器的强大
-
原文地址:https://blog.csdn.net/Candy___i/article/details/132698676