【PHP】算法基础-字符移位
来源:互联网 发布:tomcat更改端口号 编辑:程序博客网 时间:2024/06/04 20:11
小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
你能帮帮小Q吗?
输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.
对于每组数据,输出移位后的字符串。
输入
AkleBiCeilD
输出
kleieilABCD
这道题,不能申请额外的空间,就是在原有字符串上操作,还得保证各个字符串的相对位置,利用冒泡排序的思想是最容易想到的处理方法。
<?phpwhile($str = trim(fgets(STDIN))){ for($i = 0; $i < strlen($str); $i++){ $flag = true; for($j = 0; $j < strlen($str)-1; $j++){ //如果,当前位置为一个大写字母,并且其后面一位不是大写字母,则交换这两个数的位置,否则不交换 if($str[$j]>='A' && $str[$j]<='Z' && ($str[$j+1]>'Z' || $str[$j+1]<'A')){ $temp = $str[$j]; $str[$j] = $str[$j+1]; $str[$j+1] = $temp; $flag = false; } } if($flag){//如果一轮循环下来,没有发生交换,则说明都已经交换完毕,退出循环输出结果即可 break; } } echo $str.PHP_EOL;}
有木有和冒泡排序很像,哈哈!
阅读全文
1 0
- 【PHP】算法基础-字符移位
- 算法基础-字符移位
- 算法基础-字符移位
- 算法基础-字符移位
- 算法基础-字符移位
- 算法基础-字符移位
- 算法基础-字符移位
- 腾讯 算法基础-字符移位
- 算法基础-字符移位(逻辑)
- 腾讯:算法基础-字符移位
- [编程题] 算法基础-字符移位
- [腾讯校招] 算法基础-字符移位
- [编程题] 算法基础-字符移位
- [编程题] 算法基础-字符移位
- [编程题] 算法基础-字符移位
- 【算法题】字符移位
- 算法基础-字符移位----腾讯2017暑期实习生编程题
- 腾讯2017实习生编程之算法基础-字符移位
- node/npm>学习命令笔记
- the difference between "./" and "sh"
- 设计模式之适配器模式
- 滴滴综合分析
- CSS动画效果——transition之渐变方块
- 【PHP】算法基础-字符移位
- C string
- 单列集合
- CMD 调用子程序&从子程序返回
- 真假美猴王与token认证
- ++i和i++的区别
- Visual Studio2017 远程调试 Remote Debugger
- 详解ps命令
- Android使用TextWatcher匹配email造成ANR的解决