算法基础-字符移位

时间限制:1秒

空间限制:32768K

题目:

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

输入描述:

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

输出描述:

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

输入示例:

AkleBiCeilD

输出示例:

kleieilABCD

思路:

遍历输入字符串中每一个元素,大写放进一个字符串2,小写放另外一个字符串3,最后将这字符串2追加到字符串3,输出最后的字符串3

C++代码:

 #include<iostream>
 #include <string.h>
 using namespace std;
 int main(){
     int num,j,k;
     ],str2[],str3[];
     cin>>str1;
     num = strlen(str1);
     j=;
     k=;
     ;i<num;i++){
         if((str1[i]>='A')&&(str1[i]<='Z')){
             str2[j]=str1[i];
             j++;
         }
         else{
             str3[k]=str1[i];
             k++;
         }
     }
     cout<<str3<<str2<<endl;

; }

Python 代码:

Python输出稍微有点不同,遍历输出字符串储存的列表时到最后一位是一个列表,所以加条件判断是否遍历到了列表的最后一个元素,输出即可

#coding=utf-8
#__author:Administrator
#__time:2018/5/22 17:34
#__file_name:算法基础-字符移位
import sys
str1 = raw_input()
str2 = []
str3 = []
num = len(str1)
num2 = 0
for i in range(num):
    if str1[i] >= 'A' and str1[i] <= 'Z':
        str2.append(str1[i])
        num2 += 1
    else :str3.append(str1[i])

str3.append(str2)
num = len(str3)
for i in range(num):
    if i == num-1:
        for j in range(num2):
            sys.stdout.write(str2[j])
    else :
        sys.stdout.write(str3[i])

腾讯2017年暑期实习生编程题【算法基础-字符移位】(C++,Python)的更多相关文章

  1. 腾讯2019年暑期实习生招聘在线笔试技术研究和数据分析方向第二题(python)

    def printindex(n,arr): # n = int(input()) # arr = list(map(int,input().split(' '))) li1=[] li2=[] fo ...

  2. 2016网易实习生编程题:数组中两个数的和等于sum

    题目 找出数组中两个数的和等于sum的这两个数 解题 这个题目做过很多次了,利用HashMap,key为 sum-A[i] value为 i 当 加入HashMap时候A[i] 已经存在map中,ge ...

  3. 2016网易实习生编程题:n个骰子的和等于m

    题目 骰子的点数是1 到 6,当有n个骰子的时候,其点数和等于m的数量 如当n = 4 m = 23时候 有下面四种: 5666656666566665 解题 深度优先,开始第一感觉很复杂,然后就没有 ...

  4. 腾讯2019年暑期实习生招聘提前批在线笔试技术研究和数据分析方向t2(python)

    小Q有一叠纸牌,一共有n张,从上往下依次编号为1~n.现在小Q要进行以下重复操作:把位于顶端的牌扔掉,把新的顶端的牌放到这叠牌的底部.小Q会一直操作到只剩下一张牌为止,小Q想知道每次扔掉的牌的编号.[ ...

  5. 转载:2017百度春季实习生五道编程题[全AC]

    装载至:https://blog.csdn.net/zmdsjtu/article/details/70880761 1[编程题]买帽子 时间限制:1秒空间限制:32768K度度熊想去商场买一顶帽子, ...

  6. 2015腾讯暑期实习生 Web前端开发 面试经历

    [2015腾讯暑期实习生 Web前端开发 面试经历] 好吧,首先声明,我被刷了,应该是跪在二面 微信查到的面试状态一直呈现复试中 .. 整整四天了.. 看来是没希望了 不过也是一次经历,记录一下还是可 ...

  7. Leetcode - 剑指offer 面试题29:数组中出现次数超过一半的数字及其变形(腾讯2015秋招 编程题4)

    剑指offer 面试题29:数组中出现次数超过一半的数字 提交网址: http://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163 ...

  8. JavaScript编程题(含腾讯2016校招题)

    作者:ManfredHu 链接:http://www.manfredhu.com/2016/04/02/15-veryGoodForUsing/ 声明:版权所有,转载请保留本段信息,否则请不要转载 几 ...

  9. 腾讯2016校招编程题【PHP实现】

    2016腾讯春招的编程题 话不多说,直接上题!!! 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串.如何删除才能使得回文串最长呢?输出需要删除的字符个数 . 这道题是以回文为载体, ...

随机推荐

  1. 关于java和c++中布尔量的比较

    在c++中允许 bool 量和 int 整形常量相互转换,并且用cout<<true; 在控制台上可以输出为 1 int main(int argc, _TCHAR* argv[]) { ...

  2. RHEL6 不重启扫描新添加硬盘

    First find your host bus number grep mpt /sys/class/scsi_host/host?/proc_name Which should return a ...

  3. ionic1 打包过程 常用命令行

    ionic start myapp                                             myapp是项目名字 ionic start myapp --v2     ...

  4. search for a range(找出一个数在数组中开始和结束位置)

    Given an array of integers sorted in ascending order, find the starting and ending position of a giv ...

  5. VirtualBox上安装64位系统

    http://blog.csdn.net/mal327/article/details/6597263 原来VirtualBox安装64位的系统需要满足以下条件: 1.64位的cpu2.安装的系统必须 ...

  6. 在Django中使用Neo4j

    重要的先说在前面吧,最后的选型结构是安装了最新的neo4j版本3.0.3,使用了neo4j-rest-client客户端库.主要原因是更适用于django的neomodel库目前只支持neo4j2.2 ...

  7. C#WebService 出现No 'Access-Control-Allow-Origin' header is present on the requested resource

    C#WebService 出现No 'Access-Control-Allow-Origin' header is present on the requested resource 解决办法: 在c ...

  8. Coursera-AndrewNg(吴恩达)机器学习笔记——第三周

    一.逻辑回归问题(分类问题) 生活中存在着许多分类问题,如判断邮件是否为垃圾邮件:判断肿瘤是恶性还是良性等.机器学习中逻辑回归便是解决分类问题的一种方法.二分类:通常表示为yϵ{0,1},0:&quo ...

  9. HTML学习笔记:1.基础概念

    ①HTML:Hypertext Markup Language,即超文本标记语言,文件由标记组成   ②HTML发展史 (几个重要节点): 1993(IETF):HTML 1.0 1995(W3C): ...

  10. Pygame常用方法

    '''import pygame# 初始化pygame库,让计算机硬件准备pygame.init()# ----------窗口相关操作-----------# 创建窗口window = pygame ...