思路: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;
- }
- }
-
相关阅读:
[项目管理-12]:项目经理的困惑:项目管理的常见难题及解决对策
【2024-04-24】华为春招笔试三道编程题解
UWB工业现场数字化管理
【跨境电商卖家】Instagram营销初学者指南(一):重要性、优势
Swift-19-基础入门
认识哈希表
qt中json类
面试打底稿④ 专业技能的第四部分
Nacos 小bug: application.properties配置未生效,导致端口未生效
为什么定时发朋友圈会更有效呢?
-
原文地址:https://blog.csdn.net/Candy___i/article/details/132698676