c-打字错误

打字错误

https://ac.nowcoder.com/acm/contest/32992/C

c-打字错误

1.注意题目上说的,最多交换一次,且选择S1中相邻的两个字符交换他们的位置,注意是相邻位置。

2.首先用a,b记录两个字符串不相同位置的下标,res记录不相同位置的个数

3.如果选择S1中相邻的两个字符交换他们的位置,能使s==t,则b-a=1,并且s[a]==t[b]&&s[b]==t[a]

4.c++直接可以用==判断string 类型是否相等

#include <string>
using namespace std;
string s,t;
int main()
{
    cin>>s>>t;
    if(s==t) cout<<"YES";
    else {
        int a,b,res=0,flag=1;  //a,b记录不同位置的下标
        for(int i=0;i<s.length();i++) {
            if(s[i]!=t[i]) {
                res++;
                if(res==1) a=i;
                else if(res==2) b=i;
                else if(res==3) {flag=0;break;}
            }
        }
        if(flag==0||b-a!=1) cout<<"NO"; //相邻
        else {
            if(s[a]==t[b]&&s[b]==t[a]&&b-a==1) cout<<"YES";
        }
    }
    return 0;
}
全部评论

相关推荐

龙珠传说:nb,公务员解约不需要支付违约金吧
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务