LC: 面试题 01.02. 判定是否互为字符重排
题目:
面试题 01.02. 判定是否互为字符重排。
给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。
链接:https://leetcode-cn.com/problems/check-permutation-lcci/
示例:
输入: s1 = “abc”, s2 = “bca”
输出: true
输入: s1 = “abc”, s2 = “bad”
输出: false
说明:
0 <= len(s1) <= 100
0 <= len(s2) <= 100
思路:
首先,由于s1和s2互位字符重排,所以两者拥有的字符种类和个数均相同,如果s1和s2的长度不相同,可直接返回False.
其次,借助python中的字典数据类型,记录字符串s1中字符及其出现的次数。
- 遍历s1中的字符,得到该字符串中每个字符出现的次数。
- 遍历s2中的字符,如果当前字符存在于字典中,则对应的次数减1。当字符不存在或次数小于0时,返回False。
- s2遍历完说明其与s1中的字符种类和个数相同,则返回True。
代码:
class Solution:def CheckPermutation(self, s1: str, s2: str) -> bool:if len(s1) != len(s2): return Falses1_dict = {}for s in s1:if s not in s1_dict:s1_dict[s] = 1else:s1_dict[s] += 1for s in s2:if s1_dict.get(s):s1_dict[s] -= 1else:return Falsereturn True
时间复杂度O(n),空间复杂度O(n).
LC: 面试题 01.02. 判定是否互为字符重排相关推荐
- LeetCode:面试题 01.02. 判定是否互为字符重排————简单
题目 面试题 01.02. 判定是否互为字符重排 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = " ...
- 文巾解题 面试题 01.02. 判定是否互为字符重排
1 题目描述 2 解题思路 2.1 replace 对每一个在s1中的字符,如果s2中没有,那么说明两个不匹配,返回false:如果s2中有,那么将s2中的一个这个字符换成'' 如果s1全部遍历完了, ...
- 程序员面试金典 - 面试题 01.02. 判定是否互为字符重排(哈希map)
1. 题目 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = "abc", s2 = &qu ...
- 面试题01.02 判定是否互为字符重排
给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 例1: 输入: s1 = "abc", s2 = "bca&q ...
- LeetCode之面试题01.02判定是否互为字符重排
**题目:**给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例: 说明: class Solution {public boolean ...
- LeetCode面试题 01.02. 判定是否互为字符重排
给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = "abc", s2 = "bca ...
- 程序员面试金典01.02. 判定是否互为字符重排
给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = "abc", s2 = "bca ...
- 365天挑战LeetCode1000题——Day 097 神策专场: 判定是否互为字符重排 按身高排序 按位与最大的最长子数组 找到所有好下标 好路径的数目
面试题 01.02. 判定是否互为字符重排 代码实现(排序) class Solution {public:bool CheckPermutation(string s1, string s2) {s ...
- 面试金典02(Python)—— 判定是否互为字符重排(简单)
判定是否互为字符重排 概述:给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 输入: s1 = "abc", s2 = & ...
最新文章
- 4.3-沛县欢乐多(DHCP,ARP,ICMP协议)
- Python学习第二天----网络基础及操作系统简介(安装linux系统)
- 与Flutter第一次亲密接触-Android 视角
- specter mmsim 区别_开车?坐车?动词?介词?各种交通工具用法区别及使用思维...
- MapReduce过程详解
- 【转】.NET Interop入门-P/Invoke和Reverse P/Invoke
- 百度网盘、迅雷下载.torrent种子文件
- 用SyncToy进行两台服务器之间文件同步
- 国外问卷调查赚钱网站
- HttpClient在Android新API上的java.lang.NoSuchFieldError: No static field INSTANCE问题
- 智慧校园管理系统,精细化+网格化
- python画羊_python编程羊车门问题代码示例
- PTA寒假基础题训练(含解题思路)(下)
- QQ2009无法显示好友自定义头像
- Android流量监控
- 碱性干电池的内阻测试方法_怎样测试蓄电池内阻全解
- 汽车业内软件编码规范--MISRA C简介
- 自考专,银行外包测试人员工作 2个月有余,聊聊一些真实感受
- Linux命令速查工具
- 如何删除已安装的Windows服务
热门文章
- Android mk详解
- nmap 端口扫描王,查看端口是否可访问,是否对外开放
- el-table-column设置fixed后,el-popover出现两个的解决办法。
- 多线程方面我读了哪些好书
- wrk 压测post请求遍历循环动态参数
- mt管理器错误信息java_MT管理器_MT管理器手机版_MT管理器清爽版_易玩网
- python怎么查找word文档_教你怎么使用Python对word文档进行操作
- 无人驾驶传感器融合系列(四)——毫米波雷达测距原理(77GHz FMCW)
- 变频器电路原理详解经典
- 博图V17安装Drive_LIB_S7_1200_1500文件全局库,实现运动控制