(LeetCode 每日一题) 3136. 有效单词 (字符串)
题目:3136. 有效单词
思路:字符串,时间复杂度0(n)。
C++版本:
class Solution {
public:bool isValid(string word) {int n=word.size();if(n<3) return false;bool flag1=0,flag2=0;for(auto x:word){if('0'<=x&&x<='9') continue;else if ('a'<=x&&x<='z'|| 'A'<=x&&x<='Z'){if( x=='a' || x=='e' || x=='i' || x=='o' || x=='u' || x=='A' || x=='E' || x=='I' || x=='O' || x=='U'){flag1=true;}else{flag2=true;}continue;}return false;}if(flag1&&flag2) return true;return false;}
};
JAVA版本:
class Solution {public boolean isValid(String word) {int n=word.length();if(n<3) return false;boolean flag1=false,flag2=false;for(var x:word.toCharArray()){if('0'<=x&&x<='9') continue;else if ('a'<=x&&x<='z'|| 'A'<=x&&x<='Z'){if( x=='a' || x=='e' || x=='i' || x=='o' || x=='u' || x=='A' || x=='E' || x=='I' || x=='O' || x=='U'){flag1=true;}else{flag2=true;}continue;}return false;}if(flag1&&flag2) return true;return false;}
}
GO版本:
func isValid(word string) bool {n:=len(word)if n<3 {return false}flag1,flag2:=false,falsefor _,x:=range word{if '0'<=x&&x<='9' {continue;}else if 'a'<=x&&x<='z'|| 'A'<=x&&x<='Z' {if x=='a' || x=='e' || x=='i' || x=='o' || x=='u' || x=='A' || x=='E' || x=='I' || x=='O' || x=='U' {flag1=true;}else{flag2=true;}continue;}return false;}if flag1&&flag2 {return true}return false;
}