重庆网站联盟,百度空间登录,微信小程序每日一关是什么游戏,潍坊网站做的好的公司1.转换成小写字母
原题#xff1a;力扣709.
字符串大写转小写有现成的API使用#xff0c;但是我们也可以自己来实现。
使用或运算进行加操作能提高效率#xff0c;因为 32 对应的二进制表示为 00100000 #xff0c;而大写字母的范围 [65, 90] 的二进制表示在 00100000 的…1.转换成小写字母
原题力扣709.
字符串大写转小写有现成的API使用但是我们也可以自己来实现。
使用或运算进行加操作能提高效率因为 32 对应的二进制表示为 00100000 而大写字母的范围 [65, 90] 的二进制表示在 00100000 的为 1 的位置均为 0 所以直接或操作就可以实现和加 32 一样的效果。
class Solution {public String toLowerCase(String s) {StringBuilder sb new StringBuilder();for (int i 0; i s.length(); i) {char ch s.charAt(i);if (ch 65 ch 90) {ch | 32;}sb.append(ch);}return sb.toString();}
}2.字符串转换整数atoi
原题力扣8.
用 index 遍历字符串数组。
public int myAtoi(String str) {int len str.length();char[] charArray str.toCharArray();int index 0;while (index len charArray[index] ) {index;}if (index len) {return 0;}int sign 1;char firstChar charArray[index];if (firstChar ) {index;} else if (firstChar -) {index;sign -1;}int res 0;while (index len) {char currChar charArray[index];if (currChar 9 || currChar 0) {break;}// 处理溢出情况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 Integet.MIN_VALUE;}// 为了便于处理溢出情况每次给 res 赋值都带 sign ,保证 res 的正负性res res * 10 sign * (currChar - 0);index;}return res;
}如果对您有帮助请点赞关注支持我谢谢❤ 如有错误或者不足之处敬请指正❤ 个人主页星不易 ❤ 算法通关村专栏不易|算法通关村 ❤