门户网站建设需要多少钱,中文wordpress主题下载地址,ios应用商店下载,咸宁哪个企业没有做网站摘要
剑指 Offer 05. 替换空格
一、字符替换
由于每次替换从1个字符变成3个字符#xff0c;使用字符数组可方便地进行替换。建立字符数组地长度为 s 的长度的3倍#xff0c;这样可保证字符数组可以容纳所有替换后的字符。
获得 s 的长度 length创建字符数组 array#x…摘要
剑指 Offer 05. 替换空格
一、字符替换
由于每次替换从1个字符变成3个字符使用字符数组可方便地进行替换。建立字符数组地长度为 s 的长度的3倍这样可保证字符数组可以容纳所有替换后的字符。
获得 s 的长度 length创建字符数组 array其长度为 length * 3初始化 size 为 0size 表示替换后的字符串的长度从左到右遍历字符串 s获得 s 的当前字符 c如果字符 c 是空格则令 array[size] %array[size 1] 2array[size 2] 0并将 size 的值加 3如果字符 c 不是空格则令 array[size] c并将 size 的值加 1遍历结束之后size 的值等于替换后的字符串的长度从 array 的前 size 个字符创建新字符串并返回新字符串。
class Solution {public String replaceSpace(String s) {StringBuilder sbnew StringBuilder();for (int i0;is.length();i){if (s.charAt(i) ){sb.append(%20);}else {sb.append(s.charAt(i));}}return sb.toString();}
}
复杂性分析
时间复杂度O(n)。遍历字符串 s 一遍。空间复杂度O(n)。额外创建字符数组长度为 s 的长度的 3 倍。
博文参考
《leetcode》