2 条题解

  • 3
    @ 2023-7-8 14:25:14
    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    	string a;
    	getline(cin, a);
    	for (int i = 0; i < a.size(); i++)//两个for循环的目的本质就是给不要删去的*加一层标记
    	{
    		if (a[i] == '*')
    		{
    			a[i] = 0;
    		}
    		else
    		{
    			break;
    		}
    	}
    	for (int i = a.size() - 1; i >= 0; i--)
    	{
    		if (a[i] == '*')
    		{
    			a[i] = 0;
    		}
    		else
    		{
    			break;
    		}
    	}
    	for (int i = 0; i < a.size(); i++)
    	{
    		if (a[i] == 0)
    		{
    			cout << '*';
    		}
    		else if (a[i] == '*')
    		{
    			continue;
    		}
    		else
    		{
    			cout << a[i];
    		}
    	}
    	return 0;
    }
    
    • 0
      @ 2023-10-5 21:05:35

      我这个怎么样

      #include<bits/stdc++.h>
      using namespace std;
      string s;
      int a[10005],maxx;
      int main()
      {
          int minn=100000;
          cin>>s;
          for(int i=0;i<s.size();i++)
          {
              if(s[i]!='*')
              {
                  maxx=max(i,maxx);
                  minn=min(i,minn);
              }
          }
          for(int i=0;i<s.size();i++)
          {
              if(i>=minn&&i<=maxx)
              {
                  if(s[i]!='*')
                  {
                      cout<<s[i];
                  }
              }
              else
              {
                  cout<<s[i];
              }
          }
          return 0;
      }
      

      已AC 点赞在搬走

      • 1

      【基础】删除字符串中间的*

      信息

      ID
      125
      时间
      1000ms
      内存
      32MiB
      难度
      1
      标签
      递交数
      66
      已通过
      51
      上传者