LeetCode 500. Keyboard Row

来源:互联网 发布:hexo 知乎 编辑:程序博客网 时间:2024/06/05 18:45

class Solution {public:    vector<string> findWords(vector<string>& words) {        char a[20]={'q','w','e','r','t','y','u','i','o','p','Q','W','E','R','T','Y','U','I','O','P'};        char b[18]={'a','s','d','f','g','h','j','k','l','A','S','D','F','G','H','J','K','L'};        char c[14]={'z','x','c','v','b','n','m','Z','X','C','V','B','N','M'};        vector<char> fstRow(a, a+20);        vector<char> scdRow(b, b+18);        vector<char> thdRow(c, c+14);        //vector<char> fstRow={'q','w','e','r','t','y','u','i','o','p','Q','W','E','R','T','Y','U','I','O','P'};        //vector<char> scdRow={'a','s','d','f','g','h','j','k','l','A','S','D','F','G','H','J','K','L'};        //vector<char> thdRow={'z','x','c','v','b','n','m','Z','X','C','V','B','N','M'};        vector<string> chseWd;        int strNum=words.size();        for(int i=0; i<strNum; i++){                string lowStr=words[i];            vector<char>::iterator iter=find(fstRow.begin(), fstRow.end(), lowStr[0]);            if(iter!=fstRow.end()){                int j=1;                for(; j<lowStr.size(); j++){                    vector<char>::iterator iter1=find(fstRow.begin(), fstRow.end(), lowStr[j]);                    if(iter1==fstRow.end()){                        break;                    }                }                if(j==lowStr.size()){                    chseWd.push_back(words[i]);                }            }else{                 vector<char>::iterator iter=find(scdRow.begin(), scdRow.end(), lowStr[0]);                if(iter!=scdRow.end()){                    int j=1;                    for(; j<lowStr.size(); j++){                        vector<char>::iterator iter1=find(scdRow.begin(), scdRow.end(), lowStr[j]);                        if(iter1==scdRow.end()){                        break;                        }                    }                    if(j==lowStr.size()){                        chseWd.push_back(words[i]);                    }                }else{                    vector<char>::iterator iter=find(thdRow.begin(), thdRow.end(), lowStr[0]);                    if(iter!=thdRow.end()){                        int j=1;                        for(; j<lowStr.size(); j++){                            vector<char>::iterator iter1=find(thdRow.begin(), thdRow.end(), lowStr[j]);                            if(iter1==thdRow.end()){                                break;                            }                        }                        if(j==lowStr.size()){                            chseWd.push_back(words[i]);                        }                    }else{                        cout << "Wrong input!!" << endl;                    }               }           }        }        return chseWd;    }};


注释掉的代码也能完成赋值操作。

0 0
原创粉丝点击