当前位置: 首页 > news >正文

C++小白修仙记_LeetCode刷题__389找不同

389.找不同

给定两个字符串 s 和 t ,它们只包含小写字母。

字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。

请找出在 t 中被添加的字母。

示例:

输入: s = "abcd", t = "abcde"
输出: "e"
解释: 'e' 是那个被添加的字母。

方法一:差值法

时间复杂度O(N) 空间复杂度O(1)

class Solution {
public:char findTheDifference(string s, string t) {int result1 = 0;int result2 = 0;for(int i = 0; i < s.length(); i++){result1 += s[i];}for(int j = 0; j < t.length(); j++){result2 += t[j];}//计算s t 各个字符串的总ASCII码值return (char)result2 - result1;//返回差值转换为字符即为后添加的字符}
};

方法二:记数法

时间复杂度O(N) 空间复杂度O(1)

class Solution {
public:char findTheDifference(string s, string t) {vector<int>count(26,0);//创建一个26个整数的数组对应26个英文字母for(int i = 0; i < s.length(); i++){char ch = s[i];// 获取s中第i个字符count[ch - 'a']++;// 对应字母计数+1//因为s 和 t 只包含小写字母,用ch字符减去a获取26个英文字母对应的1~26数字}for(int j = 0; j < t.length(); j++){char ch = t[j];// 获取t中第i个字符count[ch - 'a']--;// 对应字母计数-1if(count[ch - 'a'] < 0)                            {// 发现多出来的字母,立即返回return ch;}}return ' ';}
};

方法三:异或法

时间复杂度O(N) 空间复杂度O(1)

class Solution {
public:char findTheDifference(string s, string t) {// 初始化结果变量为0int res = 0;// 遍历字符串s中的每个字符for(int i = 0; i < s.size(); i++){// 将当前字符与结果进行异或操作res = res ^ s[i];}// 遍历字符串t中的每个字符for(int j = 0; j < t.size(); j++){// 将当前字符与结果进行异或操作res =res ^ t[j];}// 最终结果res就是多出来的字符return res;}
};
http://www.sczhlp.com/news/2035/

相关文章:

  • 基于 Caddy 作为前端 Web 服务器 + FRPS 作为反向代理方案
  • 《曾子易箦》
  • 5.9.2 重新结合变换
  • 13.10.2 填充、步幅和多通道
  • docker-image 工具展示更详细镜像层内容
  • chapter3 node.js基础服务器搭建与机制剖析
  • Day30
  • ElasticSearch-单节点安装
  • 20250730 - AnyswapV4Router 授权漏洞: 绕过了不存在的 permit 函数
  • WGCNA
  • 7-30-复习
  • 在 mac 系统上制作 Ubuntu Server 的 U 盘启动镜像
  • 预测LLM微调与遗忘副作用的新方法MNEME
  • 搞前端还有出路吗?如果有,在哪里?
  • git 数据结构探究之blob
  • [Unity] 人物悬挂与攀爬的实现思路
  • 关于《大道至简》的读后感
  • P1258 小车问题
  • 一文掌握最新版本Monocle3单细胞轨迹(拟时序)分析
  • 你改悔罢
  • Golang基础笔记十六之反射
  • 2.8 rt-thread spi flash挂载w25q128 liffes补充
  • 7 月 30 日模拟赛总结 - sb
  • 7-30破防
  • [JOI 2023 Final] 迷宫 / Maze
  • JPEG图像原理与应用|库的移植
  • 软工作业day29
  • DeepChat使用MCP-Hub 案例六 (结合FastMcp案例四)
  • webapi第五天
  • 完整教程:WPF的一些基础知识学习记录