题1:
法一:
public class Solution {
public string ReplaceSpace(string s) {
s = s.Replace(" ","%20"); //自带方法,直接替换,既可以替换字符串,也可以替换单个字符
return s;
}
}
法二:
在C#中,string类型是不可变的,故此处借用StringBuilder类型(可变字符串)
public class Solution {
public string ReplaceSpace(string s) {
int len=s.Length;
StringBuilder ss = new StringBuilder(); //定义一个可变字符串
for(int i=0;i<len;i++){
if(s[i]==' '){ //若s[i]为空格,则在ss尾增加字符串“%20”
ss.Append("%20");
}
else
ss.Append(s[i]); //若不是空格,则增加s[i]中的字符
}
return ss.ToString(); //将ss的格式转换为String形式
}
}
以上是C#官网中给出的StringBuilder类型可调用的方法,此处Append()适用。
题2:
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。
public class Solution {
public string ReverseLeftWords(string s, int n) {
StringBuilder result = new StringBuilder();
StringBuilder sb = new StringBuilder();
int len = s.Length;
for(int i=0;i<len;i++){
if(i<n)
sb.Append(s[i]);
else
result.Append(s[i]);
}
result.Append(sb);
return result.ToString();
}
}