解题思路:

题目本身挺简单的,考虑用set,判断每个单词的字母是不是属于同一个集合。需要注意的是:1)set的构造方法;2)单词可能是大小写混合的,不一定只是首字母大写;

3)break是跳出循环=。=switch写的时候要注意,不好用的话还是用if-else好了。

    vector<string> findWords(vector<string>& words) {
char f[20] = {'q','w','e','r','t','y','u','i','o','p','Q','W','E','R','T','Y','U','I','O','P'};
set<char>first(f,f+20);
char s[18] = {'a','s','d','f','g','h','j','k','l','A','S','D','F','G','H','J','K','L'};
set<char>second(s, s+18);
char t[14] = {'z','x','c','v','b','n','m','Z','X','C','V','B','N','M'};
set<char>third(t, t+14);
vector<string>::iterator it;
string temp = "";
vector<string> result;
bool flag = true;
int i;
for (it = words.begin(); it != words.end(); it++) { temp = *it;
flag = true; if (temp.length() == 1) {
result.insert(result.end(), temp);
continue;
}
if (first.find(temp[0]) != first.end()) {
for (i = 1; i < temp.length(); i++) {
if (first.find(temp[i]) == first.end()) {
break;
}
}
if (i != temp.length()) {
flag = false;
continue;
}
}
else if (second.find(temp[0]) != second.end()) {
for (i = 1; i < temp.length(); i++) {
if (second.find(temp[i]) == second.end()) {
break;
}
}
if (i != temp.length()) {
flag = false;
continue;
}
}
else {
for (i = 1; i < temp.length(); i++) {
if (third.find(temp[i]) == third.end()) {
break;
}
}
if (i != temp.length()) {
flag = false;
continue;
}
} if (flag == true) {
result.insert(result.end(), temp);
}
}
return result;
}

 

leetcode-2-basic的更多相关文章

  1. [LeetCode] 224. Basic Calculator 基本计算器

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  2. [LeetCode] 227. Basic Calculator II 基本计算器 II

    Implement a basic calculator to evaluate a simple expression string. The expression string contains ...

  3. [LeetCode] 772. Basic Calculator III 基本计算器之三

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  4. [LeetCode] 227. Basic Calculator II 基本计算器之二

    Implement a basic calculator to evaluate a simple expression string. The expression string contains ...

  5. LeetCode#227.Basic Calculator II

    题目 Implement a basic calculator to evaluate a simple expression string. The expression string contai ...

  6. Java for LeetCode 227 Basic Calculator II

    Implement a basic calculator to evaluate a simple expression string. The expression string contains ...

  7. Java for LeetCode 224 Basic Calculator

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  8. (medium)LeetCode 224.Basic Calculator

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  9. (medium)LeetCode 227.Basic Calculator II

    Implement a basic calculator to evaluate a simple expression string. The expression string contains ...

  10. leetcode 224. Basic Calculator 、227. Basic Calculator II

    这种题都要设置一个符号位的变量 224. Basic Calculator 设置数值和符号两个变量,遇到左括号将数值和符号加进栈中 class Solution { public: int calcu ...

随机推荐

  1. 反射和__setattr__,__delattr__,__getattr__用法

    反射 什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先 ...

  2. 【bzoj1123】BLO

    1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2222  Solved: 1090[Submit][Status ...

  3. [coci2015-2016 coii] Palinilap【字符串 哈希】

    传送门:http://www.hsin.hr/coci/archive/2015_2016/ 进去之后点底下的那个.顺带说一句,题目既不是一个英文单词,也不是克罗地亚单词,估计只是从回文串的英文单词p ...

  4. java threadLocal的初探

    在网上找了半天,终于找到一篇靠谱的文章了. 文章地址:http://qifuguang.me/2015/09/02/[Java%E5%B9%B6%E5%8F%91%E5%8C%85%E5%AD%A6% ...

  5. php中socket的使用(重点参考)

    一.开启socket phpinfo();查看是否开启了socket扩展,否则在php.ini中开启. 二.服务器端代码的写法 <?php error_reporting(E_ALL); set ...

  6. PHP中的文件操作

      文件系统的概述 任何类型的变量在运行的时候都是将其加载到内存里面.但是内存有一个特点:CPU读取内存的速度很快,但是一旦断电,内存里面的数据就会消失.如果要持久的保存数据,有两种方法:将数据存储到 ...

  7. oracle删除数据库表空间

    步骤一:  删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删 ...

  8. ubuntu键盘映射

    在sublime下开发习惯把CapsLock和Shift间交换,windows下有很多软件可以修改键盘映射,在ubuntu下可以是哦用xmodmap命令,使用方法如下: 在自己用户的home目录下新建 ...

  9. slf4j介绍以及与Log4j、Log4j2、LogBack整合方法

    翻了一下百度和官网.这么介绍slf4j. slf4j 全称 Simple Logging Facade for Java,是日志框架的一种抽象,那么也就是说 slf4j 是不能单独使用的必须要有其他实 ...

  10. kafka安装和使用

    kafka安装和启动 kafka的背景知识已经讲了很多了,让我们现在开始实践吧,假设你现在没有Kafka和ZooKeeper环境. Step 1: 下载代码 下载0.10.0.0版本并且解压它. &g ...