在一个字符串中把大写字母放到字符串中小写字母的后面(不能改变字母的相对位置)
2014-12-24 12:07
417 查看
设置两个下标p1、p2
同时指向字符串的末尾,让p1找到第一次出现为大写的字母的位置,然后从p1至p2两两交换,之后让p1--,p2--,重复以上,直到p1小于0为止
同时指向字符串的末尾,让p1找到第一次出现为大写的字母的位置,然后从p1至p2两两交换,之后让p1--,p2--,重复以上,直到p1小于0为止
public void swapCharacter(char[] ch){ if(null==ch||0==ch.length)return; int p1 =ch.length-1; int p2 =ch.length-1; while(p1>=0){ while(p1>=0&&ch[p1]>='a'&&ch[p1]<='z'){ p1--; } int index = p1; while(index>=0&&index!=p2){ char t = ch[index]; ch[index] = ch[index+1]; ch[index+1] = t; index++; } p2--; p1--; } }
相关文章推荐
- 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗?
- 将一个字符串的大写字母放到字符串的后面,各个字符串的相对顺序不改变,不能申请额外空间 左旋字符串的应用
- 字符移位 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗? 输入描述: 输入数据有多组
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。
- 腾讯2017年实习生编程题目(第二题)----2.算法基础-字符移位 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
- 把一个字符串的大写字母放到字符串的后面 ,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- [面试算法]把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间
- 将一个字符串中的大写字母放到小写字母的后面,而且移动后相对顺序不改变
- 把一个字符串中的大写字母放到后面,小写字母放到前面,并且相对位置不变
- 插入排序-大写字符串放到字符串后面,不改变相对位置
- 字符串训练02—给一个字符串,有大小写字母,要求写一个函数把小写字母放在前面 大写字母放在后面,尽量使用最小空间,时间复杂度。(即用指针做)。 如:aAbBcCdD ---àabcdABCD
- 给一个字符串,有大小写字母,要求写一个函数把小写字母放在前面 大写字母放在后面,尽量使用最小空间,时间复杂度。(即用指针做)。 如:aAbBcCdD ---àabcdABCD