天天看点

数据结构算法之字符串

字符串

特点

  1. 字符串是由若干个字符组成,在c/c++中常常使用‘/0’字符作为结尾,这样很方便的为我们查找到字符串的最后一个字符。
  2. 为了节省空间,c/c++常常将字符串单独放到一个内存空间中,当几个指针赋予相同的变量时,实际上他们会指向相同的地址空间

面试题:替换空格

实现一个函数将字符串中的空格替换成"%20"
           

实现方式:

  1. 方式一:如果是创建新的字符串,并在新的字符串上做替换,则我们需要我们为其分配足够的空间
  2. 方式二:如果在原来的字符串上做替换,需要保证后面对的输入有足够的空间
public class Solution {  
    public String replaceSpace(StringBuffer str) {  
        for(int k=; k<str.length(); k++)   
              {  
              char index = str.charAt(k);  
                   if(index == ' ')  //判断是否是空字符
                     {  
                      str.replace(k, k+, "%20");  
                     }  
              }  

        return str.toString();  
           

直接使用replaceAll方法也可以

继续阅读