2 solutions

  • 1
    @ 2025-7-25 16:45:03

    好的,这道题目给定的两个字符串长度均<=200 所以说我们可以用len来保存我们所需的长度 这个len的值wei: if(x.size()<=y.size() len = x.size(); //若相等两个均可以 还要注意,循环是循环长度小的字符串

    再循环的过程中,由于输入早已结束 所以每当x[i] == y[i] 即可以输出i+1(because下标少一)

    我的代码肯定不是最简洁的,但题解思路清晰 若想要最简洁的代码,请看刘丛睿的题解 代码如下```

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        string a,b;
        cin >> a >> b;
        int len; //定义len
        if(a.size() > b.size())//判断,这里可以分为两种情况,为了清晰可以这样写
        {
            len = b.size();
            for(int i = 0;i < len;i++)//循环长度小的字符串
            {
                if(a[i]==b[i])
                {
                    cout<<i+1<<" ";
                }
            }
        }
        else if(a.size()< b.size())
        {
            len = a.size();
            for(int i = 0;i < len;i++)
            {
                if(a[i]==b[i])
                {
                    cout<<i+1<<" ";
                }
            }
        }
        else
        {
            len = a.size();//任意一个即可
            for(int i = 0;i < len;i++)
            {
                if(a[i]==b[i])
                {
                    cout<<i+1<<" ";
                }
            }
        }
        return 0;
    }
    

    帅哥美女们点个赞吧~

    Information

    ID
    1151
    Time
    1000ms
    Memory
    64MiB
    Difficulty
    10
    Tags
    # Submissions
    4
    Accepted
    3
    Uploaded By