字符串的介绍和使用

对于字符串的话,我们已经比较熟悉了,来通过几个有意思的题加深理解一下吧。

class Solution {

public:

string addBinary(string a, string b) {

string ret;

int n=a.size()-1,m=b.size()-1;

int t=0;

while(n>=0||m>=0||t){

if(n>=0) t+=an---'0';

if(m>=0) t+=bm---'0';

ret+=(t%2)+'0';

t/=2;

}

reverse(ret.begin(),ret.end());

return ret;

}

};

class Solution {

public:

string multiply(string num1, string num2) {

int n=num1.size(),m=num2.size();

reverse(num1.begin(),num1.end());

reverse(num2.begin(),num2.end());

vector<int> ret(m+n-1);

for(int i=0;i<n;i++){

for(int j=0;j<m;j++){

reti+j+=(num1i-'0')*(num2j-'0');

}

}

string result;

int t=0,i=0;

while(i<m+n-1||t!=0){

if(i<m+n-1){

t+=reti++;

}

result+=(t%10)+'0';

t/=10;

}

while(result.size()>1&&result.back()=='0') result.pop_back();

reverse(result.begin(),result.end());

return result;

}

};

class Solution {

public:

string removeDuplicates(string s) {

string ret;

for(auto e: s){

if(ret.size()&&e==ret.back()) ret.pop_back();

else ret+=e;

}

return ret;

}

};

class Solution {

public:

bool backspaceCompare(string s, string t) {

return change(s)==change(t);

}

string change(string& s){

string ret;

for(auto e : s){

if(e!='#') ret+=e;

else if(ret.size()) ret.pop_back();

}

return ret;

}

};

相关推荐
旋生万物9 小时前
Agent System Prompt 注入螺旋公理:让 AI 推理不跑偏的可复制模板(附完整 Prompt)
人工智能·算法
深圳雨林凯AI10 小时前
图案裂变的空间关系原理:元素放大为何必然挤压负空间,以及三个可调变量|雨林凯AI技术拆解
人工智能·算法
tellmewhoisi10 小时前
机器学习:聚类算法
算法·机器学习·聚类
yi01110 小时前
LeetCode 134 加油站:从 双循环暴力 演变到 贪心
linux·算法·leetcode
sogw-三叶草️11 小时前
LeetCode 989. 数组形式的整数加法
数据结构·算法
维克兜率天11 小时前
【维克】均值回归:跌多了会涨,涨多了会跌
开发语言·笔记·python·算法·均值算法·回归·量化
yi01111 小时前
DAY 14: LeetCode 394. 字符串解码|递归和栈到底怎么处理嵌套?
数据结构·笔记·python·算法·leetcode
P.D.Wei12 小时前
[Leetcode 1614] 括号的最大嵌套深度
算法·leetcode·职场和发展
红姐跨境书12 小时前
AI 的底层逻辑:从数据、算法到智能的本质
人工智能·算法
繁华的地方不一定留下你的脚印12 小时前
C++ 算法与 ranges:用 find_if、transform 写清数据处理意图
开发语言·c++·算法