LeetCode-500. Keyboard Row

Description:

LeetCode-500. Keyboard Row

Example 1:

LeetCode-500. Keyboard Row

Note:

LeetCode-500. Keyboard Row

Solution 1(C++):

LeetCode-500. Keyboard Row

Solution 2(C++):

LeetCode-500. Keyboard Row

算法分析:

解法一: 核心思想就是给三行字母分别赋值001,010,100.这样通过与运算,如果与运算结果不为零,那么就说明一个单词里所有字母都在一行,一旦为0,说明不在一行。如果在一行的话,就让这个单词push_back到res中。

解法二: 这个直接按照字母表顺序,给每个字母不同的值。这样的好处就是在判断单词中字母是否一行是只需要调用一个数组。思路上整体一些。

程序分析:

更新两个函数tolower()与toupper()。前者是将字母字符转换成小写,非字母字符不做出处理。后者相反。注意是将一个char的字母转换为对应大小写。