字符串的介绍和使用

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

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;

}

};

相关推荐
203号居民13 分钟前
LeetCode hot 100 —41. 缺失的第一个正数
数据结构·算法·leetcode
专注仿真2 小时前
问答大模型技术方案算法实现-熵权法融合算法 + 交叉编码器重排算法
人工智能·python·算法·语言模型·问答大模型关键算法·熵权融合算法·交叉编码器重排算法
地平线开发者4 小时前
量化为什么会有损失:从量化误差到精度下降
算法
手写码匠4 小时前
华为云Flexus+DeepSeek征文|Dify 多 Agent 会话管理与上下文工程实战:让智能体“记住该记住的,忘掉该忘掉的“
人工智能·深度学习·算法·aigc
2401_862880824 小时前
数据结构 --- 栈
c语言·数据结构·算法
致Great4 小时前
Qwen3.8-27B 接入 DSH 全流程实测:写代码、跑长任务,都没问题
算法
Tisfy5 小时前
LeetCode 3471.找出最大的几近缺失整数:三种情况判断
算法·leetcode·题解·分类讨论
linux-hzh5 小时前
百日算法修炼 · Day 12
算法·深度优先
额额额对了6 小时前
数据结构:二叉树
c语言·数据结构·算法
iNeuOS工业互联网6 小时前
iNeuOS_Vision_视觉分析,增加SAM3模型对实例分割和目标检测AI自动标注图片样本功能
人工智能·算法·目标检测