博客
关于我
Leetcode 面试经典 01.02 判定是否互为字符重排(C/C++)
阅读量:607 次
发布时间:2019-03-11

本文共 670 字,大约阅读时间需要 2 分钟。

大家好,我是小黄呀

题目大意

给定两个字符串 s1s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

思路分析

  1. sort排序后比较:直接对两个字符串进行字符排序,用到sort函数,然后对排序后的结果进行比较,若相同则为true,否则为false。
  2. 数组下标转换法:利用字符对应数组下标进行转换,定义一个大小为128的数组,将字符串s1s2中的每个字符都分别进行转换,字符串s1中出现某字符,则对应数组下标值+1,字符串s2中出现某字符,则对应数组下标值-1,然后对整个数组进行遍历,若存在某数组下标对于值不为0,则说明结果为false,反之,为true

具体代码

//sort排序后比较 class Solution{   	public:		bool CheckPermutation(string s1, string s2){   			sort(s1.begin(),s1.end());			sort(s2.begin(),s2.end());			return s1==s2;		}};
//数组转换法 class Solution{   	public:		bool CheckPermutation(string s1, string s2){   			int len1=s1.size();			int len2=s2.size();			if(len1!=len2)				return false;			int len[128]={   0};			for(int i=0;i

转载地址:http://rzhtz.baihongyu.com/

你可能感兴趣的文章
MySQL面试宝典
查看>>
WAP短信:融合传统短信和互联网的新型通信方式
查看>>
mysql面试题学校三表查询_mysql三表查询分组后取每组最大值,mysql面试题。
查看>>
Mysql面试题精选
查看>>
MySQL面试题集锦
查看>>
mysql面试题,存储引擎InnoDB和MyISAM
查看>>
mysql面试题:为什么MySQL单表不能超过2000W条数据?
查看>>
mysql面试题:创建索引时会不会锁表?
查看>>
mysql面试题:高度为3的B+树可以存放多少数据?
查看>>
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
查看>>
mysql驱动、durid、mybatis之间的关系
查看>>
mysql驱动支持中文_mysql 驱动包-Go语言中文社区
查看>>
MySQL高可用之——keepalived+互为主从
查看>>
MySQL高可用切换_(5.9)mysql高可用系列——正常主从切换测试
查看>>
MySQL高可用解决方案
查看>>
MySQL高可用解决方案详解
查看>>
MYSQL高可用集群MHA架构
查看>>
MySQL高可用集群架构MHA企业级实战
查看>>
MySQL高级-MySQL存储引擎
查看>>
MySQL高级-MySQL并发参数调整
查看>>