LeetCode-500. Keyboard Row
Description:
Example 1:
Note:
Solution 1(C++):
Solution 2(C++):
算法分析:
解法一: 核心思想就是给三行字母分别赋值001,010,100.这样通过与运算,如果与运算结果不为零,那么就说明一个单词里所有字母都在一行,一旦为0,说明不在一行。如果在一行的话,就让这个单词push_back到res中。
解法二: 这个直接按照字母表顺序,给每个字母不同的值。这样的好处就是在判断单词中字母是否一行是只需要调用一个数组。思路上整体一些。
程序分析:
更新两个函数tolower()与toupper()。前者是将字母字符转换成小写,非字母字符不做出处理。后者相反。注意是将一个char的字母转换为对应大小写。