LintCode:空格替换
2016-05-10 22:06
330 查看
LintCode:空格替换
注意事项
如果使用 Java 或 Python, 程序中请用字符数组表示字符串。
方法二:
注意事项
如果使用 Java 或 Python, 程序中请用字符数组表示字符串。
Python
方法一:这个方法没有使用字符数组,直接使用的字符串数组,虽然能通过,但是不符合要求,看方法2吧。class Solution: # @param {char[]} string: An array of Char # @param {int} length: The true length of the string # @return {int} The true length of new string def replaceBlank(self, string, length): # Write your code here if string == None: return 0 while ' ' in string: m = string.index(' ') string[m] = '%20' length += 2 return length
方法二:
class Solution: # @param {char[]} string: An array of Char # @param {int} length: The true length of the string # @return {int} The true length of new string def replaceBlank(self, string, length): # Write your code here if string == None: return 0 while ' ' in string: m = string.index(' ') n = length length = length + 2 while n > m: string[n+2] = string n -= 1 string[m] = '%' string[m+1] = '2' string[m+2] = '0' return length
Java
public class Solution { /** * @param string: An array of Char * @param length: The true length of the string * @return: The true length of new string */ public int replaceBlank(char[] string, int length) { // Write your code here if (length == 0){ return 0; } while(contains(string)){ int m = index(string); int n = length; length = length + 2; while(n > m){ string[n + 2] = string ; n -= 1; } string[m] = '%'; string[m+1] = '2'; string[m+2] = '0'; } return length; } private static boolean contains(char[] string){ for(int i=0; i<string.length; i++ ){ if(string[i] == ' '){ return true; } } return false; } private static int index(char[] string){ for(int i=0; i<string.length; i++){ if(string[i] == ' '){ return i; } } return 0; } }
相关文章推荐
- 非原创 常见的web错误
- APS.NET_MVC5学习笔记-给电影表和模型添加新字段
- 【BZOJ4515】游戏,树链剖分+永久化标记线段树维护线段信息(李超线段树)
- 查询TOP-N
- Cocos2dx3.10常侍之移驾UBUNTU
- 大搬家
- 网络基础
- 4月以来小记
- 解决IOS8.1中UIActionSheet与UIPickerView不兼容
- Android View系列一: View基础知识
- 关于html标签中b和strong,i与em两个的区别(物理标记和逻辑标记)
- APS.NET_MVC5学习笔记-验证编辑方法(Edit method)和编辑视图(Edit view)
- unity+Cardboard SDK VR开发Cardboard Unity SDK讲解
- java网络编程--udp传输示例
- 九度OJ - 1350 - 二叉树的深度
- leetcode刷题,总结,记录,备忘 345
- Android中的通知 Notification
- mysql详解--mysql中的锁
- 第一章 JAVA入门(数据输入之EchoText类)
- Xcode关于拖拽窗口导致获取文件全路径错误的问题