腾讯2017暑期实习生编程题-字符移位

来源:互联网 发布:scr屏幕录像软件 编辑:程序博客网 时间:2024/05/16 01:55
  • 题目:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间
    例如输入 “AkleBiCeilD”;输出结果为 “kleieilABCD”

  • 思路:定义两个计数器count和countSmall(一个统计当前字母之前的大写字母个数,另一个统计前面“大写”子串的后面小写子串字符个数)遍历字符串,当这个字符串为“大写”时,count++;遇到小写字符,则指针往后移,countSmall++;然后前面所以大写字母往后移动 (文字描述起来太费劲了,还是画个图比较明白哈哈哈哈)

  • 代码:

    import java.util.Scanner;public class MoveChar {    public static void main(String[] args){        Scanner scan = new Scanner(System.in);        String str = scan.nextLine();        int len = str.length();        char[] c = str.toCharArray();        int count = 0;//计算大写字母的个数        int countSmall = 0;//计算小写字母的个数        for(int i = 0; i < len; i++){            int temp = 0;            //查找大写字母个数            while(i < len && c[i] <= 'Z' && c[i] >= 'A'){                temp = i;                count++;                i++;            }            //将大写字母截取存为一个临时变量            String tempStr = new String(c).substring(temp-count+1, temp+1);            if(count > 0){            //查找小写字母个数,并且往前移动到合适的位置                while(i < len && c[i] <= 'z' && c[i] >= 'a'){                    countSmall++;                    c[i-count] = c[i];                    i++;                }                //将tempStr存储的临时子串放到合适的位置                for(int j = 0; j < count; j++){                    c[temp+countSmall] = tempStr.charAt(count-j-1);                    temp--;                }                i--;//此处一定记得i需要减1                //每一轮交换完位置,需要将小写字母计算器赋值为0;                countSmall = 0;            }        }        System.out.print(c);    }}
  • 关于在牛客上跑这个代码的槽点:
    我在自己的IDE运行测试用例,输出结果跟期望结果一样;但是在牛客上运行,居然不输出!!!!!!

    “我能怎么办,我也很无奈啊”

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果手机浏览器横屏怎么办 苹果笔记本浏览器没有了怎么办 剑与家园魔镜带错兵怎么办 橙子vr上下反了怎么办 我的恐龙手机不支持ar怎么办 被小人陷害又无计可施怎么办 蚂蚁借呗2万逾期怎么办 蚂蚁借呗还款金额受限怎么办 蚂蚁借呗不能借钱了怎么办 美柚手机号换了怎么办 美柚他他圈被禁言了怎么办? 被蝎子蜇了屁股怎么办 被蝎子蛰了该怎么办 孕妇让蝎子蛰了怎么办 脸被蝎子蛰了怎么办 皮肤看着有点老怎么办 王者铭文被卖了怎么办 游戏cp送我皮肤怎么办 消防改革武警学院的学员怎么办 几把毛掉的厉害怎么办 从公务员调入事业单位的怎么办 电车被城管扣了怎么办 超变战陀发射器绳坏了怎么办 家里人总打击我怎么办干啥都要骂 欧陆风云4破产后怎么办 车被别人喷了漆怎么办 龙分期绑银行卡维护钱还不上怎么办 去维和要是伤了怎么办 头盔镜片刮花了怎么办 小牛u1钥匙丢了怎么办 非牛顿流体干了怎么办 刺激战场0信誉分怎么办 假如非牛顿干了怎么办? 退出id后照片了怎么办 小麦收割机麦糠有籽粒怎么办 在家带娃没钱花怎么办 看3d电影近视的怎么办 摩托车电瓶没电了怎么办 踏板摩托车电瓶没电了怎么办 摩托车离合油没了怎么办 论文数据计算错误该怎么办