标签:
注意事项
如果使用 Java 或 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]
n -= 1
string[m] = ‘%‘
string[m+1] = ‘2‘
string[m+2] = ‘0‘
return length
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];
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;
}
}
标签:
原文地址:http://blog.csdn.net/u012225151/article/details/51367164