题目链接
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200503134948686.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjYzMjYz,size_16,color_FFFFFF,t_70)
- 个人觉得这题算是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;
}
};