题目链接
- 个人觉得这题算是Easy难度的,因为判断条件太直白了,当时的思路就是按字典序排分别找到s1和s2的最大值,然后进行一下比较就完事了。
代码如下:
class Solution {
public:
bool checkIfCanBreak(string s1, string s2) {
vector<char> a(s1.size()),b(s1.size());
bool flag1=true,flag2=true;
for(int i=0;i<s1.size();i++)
{
a.push_back(s1[i]);
b.push_back(s2[i]);
}
sort(a.begin(), a.end(), greater<char>());
sort(b.begin(), b.end(), greater<char>());
for(int i=0;i<s1.size();i++)
{
if(!(a[i]>=b[i]))
{
flag1=false;
break;
}
}
for(int i=0;i<s1.size();i++)
{
if(!(b[i]>=a[i]))
{
flag2=false;
break;
}
}
if(!flag1&&!flag2)
return false;
else
return true;
}
};