【leetcode面试经典150题】40. 同构字符串(C++)

news/2024/12/21 18:45:55/

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C++语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致)

【题目描述】

给定两个字符串 s 和 t ,判断它们是否是同构的。

如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。

每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。

【示例一】

输入:s = "egg", t = "add"输出:true

【示例二】

输入:s = "foo", t = "bar"输出:false

【示例三】

输入:s = "paper", t = "title"输出:true

【提示及数据范围】

  • 1 <= s.length <= 5 * 10的4次方
  • t.length == s.length
  • s 和 t 由任意有效的 ASCII 字符组成

【代码】

// 用两个键值对相反的哈希表来存储class Solution {
public:bool isIsomorphic(string s, string t) {unordered_map<char, char> s2t;unordered_map<char, char> t2s;int len = s.length();for (int i = 0; i < len; ++i) {char x = s[i], y = t[i];if ((s2t.count(x) && s2t[x] != y) || (t2s.count(y) && t2s[y] != x)) {return false;}s2t[x] = y;t2s[y] = x;}return true;}
};

http://www.ppmy.cn/news/1413687.html

相关文章

力扣刷题部分笔记

Leetcode 力扣刷题笔记&#xff0c;记录了几个月来的题目记录&#xff0c;将会继续保持刷题~ 2024.01 1768.交替合并字符串 创建字符串不需要声明长度&#xff08;动态分配内存&#xff09;&#xff0c;push_back()可以加入某个字符&#xff0c;append()一般用于添加字符串…

算法第四十一天-排除排序链表中的重复元素Ⅱ

排除排序链表中的重复元素Ⅱ 题目要求 解题思路 题意&#xff1a;在一个有序链表中&#xff0c;如果一个节点的值出现不止一次&#xff0c;那么把这个节点删除掉 重点&#xff1a;有序链表&#xff0c;所以&#xff0c;一个节点的值出现不止一次&#xff0c;那么他们必相邻。…

如何在WHM面板上更改主机名

本周有一个客户&#xff0c;购买Hostease的独立服务器并选择了WHM控制面板&#xff0c;询问我们的在线客服&#xff0c;如何在WHM面板上更改主机名。我们为用户提供教程&#xff0c;用户很快完成了设置。在此&#xff0c;我们分享这个操作教程&#xff0c;希望可以对您有帮助。…

PyQt介绍——qrc资源文件使用介绍

使用介绍 在PyQt中&#xff0c;qrc文件是一种资源文件&#xff0c;用于将应用程序所需的资源&#xff08;如图像、音频文件、样式表等&#xff09;打包到一个单独的二进制文件中&#xff0c;以便在运行时轻松地加载和访问这些资源。qrc文件是用XML格式编写的&#xff0c;其中包…

富格林:技巧抵抗曝光虚假套路

富格林悉知&#xff0c;黄金具备独特的优势吸引着众多投资者的目光&#xff0c;在现货黄金市场也被认为是一条潜力无限的盈利之道。但我们要明白风险与盈利是相辅相成的&#xff0c;因此在这复杂的市场中我们必须利用技巧来抵抗曝光的虚假套路。下面富格林将给大家分享一些正确…

一本书了解AI的下一个风口:AI Agent

在数字化浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;已成为推动现代社会前进的强劲引擎。 从智能手机的智能助手到自动驾驶汽车的精准导航&#xff0c;AI技术的应用已经渗透到生活的方方面面。 随着技术的飞速发展&#xff0c;我们正站在一个新的转折点上&#xff…

25.设置及使用coredump文件

设置及使用coredump文件 文章目录 设置及使用coredump文件coredump文件介绍开启关闭核心转储core dumps功能开启核心转储生成功能关闭生成转储文件 coredumps文件的使用查看core进程的所有线程堆栈reference 欢迎访问个人网络日志&#x1f339;&#x1f339;知行空间&#x1f3…

TTL接口的输入输出

The Ins and Outs of the TTL Interface 串行通信可在相当长的距离内传输数据&#xff0c;通常与 TTL 标准有关。数据通过串行通信传输&#xff0c;串行通信通过单线传输比特位。数据通过双方--发送方和接收方--以二进制脉冲的形式使用各种串行数字二进制技术进行交换。 RS232 …