题目描述
给你一个下标从 0 开始的字符串 s ,该字符串由用户输入。按键变更的定义是:使用与上次使用的按键不同的键。例如 s = “ab” 表示按键变更一次,而 s = “bBBb” 不存在按键变更。
返回用户输入过程中按键变更的次数。
注意:shift 或 caps lock 等修饰键不计入按键变更,也就是说,如果用户先输入字母 ‘a’ 然后输入字母 ‘A’ ,不算作按键变更。
解题思路
1、对比字符忽略大小写
class Solution {
public int countKeyChanges(String s) {
String s1 = s.toLowerCase();
int j=0;
for (int i = 0; i < s.length()-1; i++) {
if (s1.charAt(i) != s1.charAt(i+1)){
j++;
}
}
return j;
}
}
class Solution {
public int countKeyChanges(String s) {
int j=0;
if ((s.charAt(i)& 31)!=(s.charAt(i+1)& 31)){
if (s1.charAt(i) != s1.charAt(i+1)){
j++;
}
}
return j;
}
}