offer05
This commit is contained in:
13
.vscode/c_cpp_properties.json
vendored
Normal file
13
.vscode/c_cpp_properties.json
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Linux",
|
||||
"includePath": [
|
||||
"${workspaceFolder}/**"
|
||||
],
|
||||
"defines": [],
|
||||
"intelliSenseMode": "linux-gcc-x64"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
||||
7
.vscode/launch.json
vendored
Normal file
7
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": []
|
||||
}
|
||||
33
offer05.cpp
Normal file
33
offer05.cpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
using namespace std;
|
||||
class Solution {
|
||||
public:
|
||||
string replaceSpace(string s) {
|
||||
int count = 0;
|
||||
int lenth = s.size();
|
||||
for(auto i = 0; i < lenth; ++i){
|
||||
if(s[i] == ' '){
|
||||
count = count + 1;
|
||||
}
|
||||
}
|
||||
s.resize(s.size() + 2 * count);
|
||||
for(int i = lenth - 1, j = s.size() - 1; i < j; --i, --j){
|
||||
if (s[i] != ' ')
|
||||
s[j] = s[i];
|
||||
else {
|
||||
s[j - 2] = '%';
|
||||
s[j - 1] = '2';
|
||||
s[j] = '0';
|
||||
j -= 2;
|
||||
}
|
||||
}
|
||||
return s;
|
||||
}
|
||||
};
|
||||
|
||||
int main(){
|
||||
string s = "We are happy.";
|
||||
Solution test;
|
||||
cout<<test.replaceSpace(s)<<endl;
|
||||
}
|
||||
Reference in New Issue
Block a user