博客
关于我
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/

你可能感兴趣的文章
Nancy之基于Nancy.Hosting.Aspnet的小Demo
查看>>
NAND NOR FLASH闪存产品概述
查看>>
nano 编辑
查看>>
nanoGPT 教程:从零开始训练语言模型
查看>>
NASA网站曝严重漏洞,或将沦为黑客钓鱼网站?
查看>>
Nash:轻量级、安全且可靠的脚本语言
查看>>
NAS、SAN和DAS的区别
查看>>
NAS个人云存储服务器搭建
查看>>
NAS服务器有哪些优势
查看>>
NAT PAT故障排除实战指南:从原理到技巧的深度探索
查看>>
nat 网卡间数据包转发_你是不是从来没有了解过光纤网卡,它跟普通网卡有什么区别?...
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,快解析DDNS的优势
查看>>
NAT-DDNS内网穿透技术,解决动态域名解析难题
查看>>
natapp搭建外网服务器
查看>>
NativePHP:使用PHP构建跨平台桌面应用的新框架
查看>>
nativescript(angular2)——ListView组件
查看>>
NativeWindow_01
查看>>
Native方式运行Fabric(非Docker方式)
查看>>
Nature | 电子学“超构器件”, 从零基础到精通,收藏这篇就够了!
查看>>