zoukankan      html  css  js  c++  java
  • 腾讯2017暑假实习生编程题之字符移位


    问题描述:
    小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
    你能帮帮小Q吗?

    输入描述:

    输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.

    输出描述:

    对于每组数据,输出移位后的字符

    示例1

    输入

    AkleBiCeilD
    

    输出

    kleieilABCD
    ——————————————————————————————————————————————————————————-——————————————————————

    结题思路:
    可以采用冒泡法的思想,若大写字母后面紧跟小写字母,可以将小写字母移到前面,大写字母移到后面
    代码如下;
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        string s;
        while(cin>>s){
            for(int i=0;i<s.length()-1;i++)
            for(int j=0;j<s.length()-1-i;j++){
                if(s[j]>='A'&&s[j]<='Z'&&(s[j+1]<'A'||s[j+1]>'Z')){
                    char temp=s[j];
                    s[j]=s[j+1];
                    s[j+1]=temp;
                }
            }
            cout<<s<<endl;
        }
        return 0;
    }

    _________________________________________________________________________________-

    分享以为大佬变态的思路:遍历字符串,分别将大小写输出,结果也能AC,只能说666




  • 相关阅读:
    OpenGLES 怎样在十天内掌握线性代数
    Matlab自己定义函数
    小小小女神啊~~~
    Format类及其子类功能和使用方法具体解释
    数据库集群
    分布式SESSION
    二级缓存
    应用服务器集群部署
    业务拆分和分级
    最简中间件集群方案
  • 原文地址:https://www.cnblogs.com/yfz1552800131/p/7491350.html
Copyright © 2011-2022 走看看