CC150 1.3 ReplaceSpaces
来源:互联网 发布:mac air怎么清理内存 编辑:程序博客网 时间:2024/06/10 02:41
Write a method to replace all spaces in a string with '%20', You may assume that the string has sufficient space at the end to hod the additional characters, and you are given "true" length of the string.
要求: In place, 即不能另外开辟空间;
思路: 从后向前; 优点: in place
步骤:
1 循环,找出空格的个数;据此推算新数组元素的个数
2 实际操作翻转,编辑字符串,看到空格,就替换为%20
C# 代码:
public static void ReplaceSpaces(char[] str, int length) { int spaceCount = 0, newLength; for ( int i = 0; i < length; i++) { if (str[i] == ' ') spaceCount++; } newLength = length + spaceCount * 2; for ( int i = length - 1; i >= 0; i--) { if (str[i] == ' ') { str[newLength - 1] = '0'; str[newLength - 2] = '2'; str[newLength - 3] = '%'; newLength = newLength - 3; } else { //复制内容 str[newLength - 1] = str[i]; //指针左移1位 newLength = newLength - 1; } } }
0 0
- CC150 1.3 ReplaceSpaces
- [cc150] 1.3
- cc150:字符串:1.3
- CC150
- cc150 1.1 1.2 1.3 1.4 1.5
- [cc150] 3.1
- [cc150] 2.5
- [cc150] 1.4
- [cc150] 1.2
- [cc150] 1.1
- cc150-1.1
- cc150,1.4
- cc150,1.5
- cc150-8.1
- cc150 4.1
- CC150 LinkedList
- CC150 Arrays and Strings 1.1 ~ 1.3 Unique Characters, Reverse String, IsPermutation
- 另一个cc150解题笔记
- java中byte,short,char,int,long运算
- 以下都是我瞎猜的
- windows下Python PyCharm用git云端同步代码
- Unity3D自学笔记——MonoBehavior响应事件
- android中RadioGroup点击radiobutton切换radiobutton的背景和文字颜色
- CC150 1.3 ReplaceSpaces
- Apache Maven 入门篇 ( 上 )
- 微信公众号开发
- 破译密码(区间DP)
- 使用EAS-webserivce规范及流程
- hihoCoder 1383 : The Book List
- IOC框架学习
- objc - 编译时期的Category
- 简洁代码