牛客网——复杂字符串排序
题目描述
编写一个程序,将输入字符串中的字符按如下规则排序(一个测试用例可能包含多组数据,请注意处理)。
规则 1 :英文字母从 A 到 Z 排列,不区分大小写。
如,输入: Type 输出: epTy
规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。
如,输入: BabA 输出: aABb
规则 3 :非英文字母的其它字符保持原来的位置。
如,输入: By?e 输出: Be?y
样例:
输入:
A Famous Saying: Much Ado About Nothing(2012/8).
输出:
A aaAAbc dFgghh : iimM nNn oooos Sttuuuy (2012/8).
链接:https://www.nowcoder.com/questionTerminal/d9aa3894d3aa4887843a85d26daa4437 来源:牛客网import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);while (input.hasNext()) {String s = input.nextLine();String r = sort(s);System.out.println(r);}}public static String sort(String s) {if (s.length() <= 0) {return null;}char[] c = s.toCharArray();StringBuffer sb = new StringBuffer();// 对字母进行排序的思想是:将每一字符与'a'-'z'或'A'-'Z'做比较,并添加到字符缓冲中,经过此步骤完成了// 不同字母按递增顺序排序,同一字母(不区分大小写)按原来顺序排列。for (int i = 0; i < 26; i++) {for (int j = 0; j < c.length; j++) {if (c[j] == 'a' + i || c[j] == 'A' + i) {sb.append(c[j]);}}}StringBuffer res = new StringBuffer();int flag = 0;for (int i = 0; i < c.length; i++) {if (isChar(c[i])) {res.append(sb.charAt(flag));flag++;} else {res.append(c[i]);}}return res.toString();}// 判断某一字符是否为字母public static boolean isChar(char c) {if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {return true;} else {return false;}} }
转载于:https://www.cnblogs.com/JAYPARK/p/10273431.html
牛客网——复杂字符串排序相关推荐
- 牛客网之字符串排序与DNA合成
题目描述: 输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的结果 . 输入描述: 一个字符串,其长度n<=20 输出描述: 输入样例可能有 ...
- 牛客网——B-栈和排序
链接:https://www.nowcoder.com/acm/contest/58/B 来源:牛客网 题目描述 给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数 ...
- 牛客网 间单排序(LIS算法)
链接:https://ac.nowcoder.com/acm/contest/547/F 来源:牛客网 题目描述 LXK有一个序列,从N~1,但是他不小心把序列打乱了,现在他想找你把这串序列复原. 他 ...
- 牛客网|倒置字符串|超详细讲解
题目:将一句话的单词进行倒置,标点不倒置.比如 I like beijing. 经过函数后变为:beijing. like I 输入描述: 每个测试输入包含1个测试用例: I like beijing ...
- java按字节截取字符串牛客网_字符串计数
/*看了之前50多个答案,发现大部分都是错误的,根据自己对题目的理解,给出了以下思路,目前 我还没有找到bug,欢迎牛友们检查,如有bug,我继续修改,答题思路是对的*/ /*首先是从之前的几个测试样 ...
- 【牛客网】——字符串的旋转
题目描述 对于一个字符串,和字符串中的某一位置,请设计一个算法,将包括i位置在内的左侧部分移动到右边,将右侧部分移动到左边. 给定字符串A和它的长度n以及特定位置p,请返回旋转后的结果. 测试样例: ...
- 【牛客网】字符串专项练习
问题: 下列数据结构不是多型数据类型的是() A:堆 B:栈 C:字符串 D:有向图 答案:字符串 解析:多型数据类型是指包含的数据元素的类型并不确定.比如栈可以是整数栈.字符栈.对象栈等等.但是字符 ...
- 牛客网循环输入输出测试——C语言scanf和printf用法
在实际的编程中需要自己写出完整的程序,预留好输入的接口,使用while循环接收多个测试用例,C语言在输出时printf要用换行"\n". 字符串输入输出问题见博客:牛客网字符/字符 ...
- 【百日冲大厂】第二篇,牛客网选择题+排序子序列+倒置字符串
前言: 大家好,我是良辰丫,今天是刷题的第二篇,牛客网选择题+排序子序列+倒置字符串,每天都去努力,每天都庆幸今天的自己比昨天的自己更优秀,加油,为理想而努力吧!!!
- 牛客网暑期ACM多校训练营(第三场) E Sort String 哈希处理字符串(模板)
链接:https://www.nowcoder.com/acm/contest/141/E 来源:牛客网 Eddy likes to play with string which is a seque ...
最新文章
- EventBus3.0 List事件遇到的坑
- Redis 学习---(4)Redis 数据类型
- 文本编辑器nano使用
- java单链表存储结构_Java数据结构——单链表
- Spring Security Oauth2 认证(获取token/刷新token)流程
- mac上配置mysql
- 无线通信原理与应用笔记
- 关于cc2500的介绍
- 【上汽零束SOA】云管端一体化SOA软件平台系列介绍之二:数字架构篇
- 海康NVR录像机集成大华摄像头
- 面试题猜想:1+1等于几?
- 硬件管理 远程开机,网络开机
- 两种方法模仿支付宝进入到后台界面模糊
- 北大核心2020_2020年北大核心论文如何发表
- 试用北大CoBOT源代码缺陷工具在Linux系统下安装
- 蛋白质组学研究的经典方法:双向电泳技术解读
- PHp网站建设,期末大作业-海贼王主题【包含前后台】
- 爬取马蜂窝英国旅行攻略
- 基于matlab的gui设计与实现,毕业设计基于MATLAB GUI的数字图像处理的设计与实现(V2.1)...
- 如何学习MATLAB
热门文章
- 拓端tecdat|Stata中的治疗效果:RA:回归调整、 IPW:逆概率加权、 IPWRA、 AIPW
- (9)机器学习_多分类器OneVsRestClassifier
- pandas根据列值读取行
- 终极分类器(识别器),一个人工智能的美好愿景
- 批量输出lib文件名(PCL或者opencv等环境配置)
- 服务器显示跨域请求,出现跨域问题的原因及其解决方法
- 如何操作反射中构造方法、属性和普通方法?
- C++ 类 class 构造函数 : 成员赋值 父类提前构造
- Docker教程小白实操入门(9)--基于export导出容器与基于import导入一个镜像
- 微信小程序云开发教程-JavaScript入门(3)-数据类型