Leetcode题目:Valid Anagram

题目:

Given two strings s and t, write a function to determine if t is an anagram of s.

For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.

Note:
You may assume the string contains only lowercase alphabets

Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?

解答思路:

设置一个大小为26的整整型数组来记录s这个字符串中每个字母出现的次数,判断t字符串中每个字母出现的次数是否与之相同,若相同,则说明构成变位词。

代码如下:

class Solution {
public:
    bool isAnagram(string s, string t) {
        int s_size = s.length();
        int t_size = t.length();
        if(s_size != t_size)
        {
            return false;
        }
        if(s_size == 0)
            return true;
        char s_copy[s_size + 1];
        char t_copy[t_size + 1];
        strncpy(s_copy,s.c_str(),s_size);
        strncpy(t_copy,t.c_str(),t_size);
        int num[26]={0};
        for(int i = 0;i < s_size;i++)
        {
            num[s_copy[i]-'a']++;
        }
        for(int i = 0;i < t_size;i++)
        {
            num[t_copy[i]-'a']--;
            if(num[t_copy[i]-'a'] < 0)
                return false;
        }
        for(int i = 0;i < 26;i++)
        {
            if(num[i] != 0)
                return false;
        }
        return true;
    }
};

转载于:https://www.cnblogs.com/CodingGirl121/p/5409202.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fakeapp2.2.0下载_软件下载 | SuperCuger 测量平差系统 V1.0

SuperCuger测量平差系统 version 1.0 是一款基于测绘工程中边角网、测角网、测边网、水准网测量数据的免费开源的可视化平差系统。可用于测绘工程中测量平差计算和平差结果报告生成&#xff0c;和插件(中间件)模式扩展新的平差功能。我们的软件具备平差数据可视化&#xff0c;便…

c语言cin输入数组,C++基础:各种输入方法总结cin.get()、

原标题&#xff1a;C基础&#xff1a;各种输入方法总结cin.get()、在C中&#xff0c;各种输入方法还是不少的&#xff0c;而且各有所异&#xff0c;本文做一点简要总结&#xff0c;主要涉及如下内容&#xff1a;cin、cin.get()、cin.getline()、getline()、gets()、getchar()。…

手机怎么能把书签导出来_成人高考能在手机上报名吗?成人高考怎么缴费?

很多成人高考的考生在报名考试的时候想用手机进行报名&#xff0c;但是听说都是使用电脑报名&#xff0c;所以不知道手机报名行不行&#xff0c;另外还有很多考生也不知道如何缴费。那么成人高考能在手机上报名吗?成人高考怎么缴费?下面小编就来和大家聊一聊成人高考手机报名…

书评 —— 《Go语言编程》

由Alan A. A. Donovan与Brian W. Kernighan共同编著的新书《Go编程语言》(Go Programming Language&#xff09;对Go这门语言进行了一次精彩的介绍。本书涵盖了包括Go语言于2015年8月所发布的最新稳定版本1.5中的内容。读者应当具备类C或Python风格语言的编程经验&#xff0c;但…

c语言哈夫曼压缩文本,哈夫曼文本压缩C语言实现.doc

/*文件中有些参数定义的比较大&#xff0c;主要是为了适应较大文件的压缩*/#include#include#include#include//用以删除多余的中间文件#define M 100000000000//最大字符数int op,co[100];//编码表的扫描指针&#xff0c;简易栈co[]typedef struct Hfnode //哈弗曼树结点类型{…

labview随机数序列_labview产生随机数

熟悉 LabVIEW 环境。 环境。 2. 创建一个 VI。 。 发生一个值为 0.0&#xff5e;1.0 的随机数 a,放大 10 倍后与某一常数 b &#xff5e;, 比较, 比较,若 a>b,则指示......5-12 前面板中建立量表的显示控件,然后右键创建属性节点中的滑块颜色前景色,程序框 图中用一随机数乘…

thinkphp单入口和多入口的访问方法

完全是参考thinkphp的官网资料 现在, 基本上都是 用 单入口 的方式来做的! thinkphp可创建多入口和单入口两种模式&#xff0c;本文主要讲解创建方法和两者的区别。 TP版本&#xff1a;3.1.3 前端&#xff1a;Home&#xff0c;后台&#xff1a;Admin 一. 创建方法 单入口&#…

git菜单形式的_添加“Git Bash Here”到右键菜单

之前安装了git的时候&#xff0c;清晰的记得右键菜单里是有“Git Bash Here”这个选项的&#xff0c;非常方面。后来不知道为啥突然没有了&#xff0c;就像搞回来。创建步骤打开注册表&#xff0c;定位到HKEY_CLASSES_ROOT\Directory\Background\shell(如果Background下面没有s…

c语言josn序列化和反序列化,Flutter 中 JSON 的序列化和反序列化

前言Flutter 中没有类似于 Java 中 Gson/Jackson 这样的 JSON 序列化库。因为这些库都是通过反射实现的&#xff0c;而 Flutter 中不支持反射。其实 Dart 是支持反射的&#xff0c;只是 Flutter 禁用了而已。Flutter 在 release 版本中会去除没有使用的代码&#xff0c;优化包大…

python相关函数_python列表相关函数

1、python中可用于列表的函数 &#xff08;1&#xff09;cmp(list1, list2)  比较两个列表的元素 &#xff08;2&#xff09;len(list)  列表元素个数 &#xff08;3&#xff09;max(list)  返回列表元素最大值 &#xff08;4&#xff09;min(list)  返回列表元素最小值…

财务模块的一些基础概念

财务会计承担着企业总体信息管理和传递的职能&#xff0c;无论企业采用何种运营模式、经营何种业务&#xff0c;都离不开财务的支持&#xff0c;大多数运营和管理流程均与财务存在着接口&#xff0c;为此&#xff0c;优化、高效的财务运作模式和流程成为确保企业良性发展和业务…

if mybatis tk 多个_面试题:mybatis 中的 DAO 接口和 XML 文件里的 SQL 是如何建立关系的?...

前言这是 mybatis 比较常问到的面试题&#xff0c;我自己在以前的面试过程中被问到了2次&#xff0c;2次都是非常重要的面试环节&#xff0c;因此自己印象很深刻。这个题目我很早就深入学习了&#xff0c;但是一直没有整理出来&#xff0c;刚好最近一段时间由于工作太忙&#x…

多机器使用setnx 设置同一个key_Redisson分布式锁的简单使用

做一个积极的人编码、改bug、提升自己我有一个乐园&#xff0c;面向编程&#xff0c;春暖花开&#xff01;一&#xff1a;前言我在实际环境中遇到了这样一种问题&#xff0c;分布式生成id的问题&#xff01;因为业务逻辑的问题&#xff0c;我有个生成id的方法&#xff0c;是根据…

java学习笔记3--类与对象的基础

1、面向对象的程序设计方法概述 面向对象的程序设计 与结构化程序设计方法相比&#xff0c;更符合人类认识现实世界的思维方式&#xff0c;已成为程序设计的主流方向 涉及的主要概念&#xff1a;抽象、封装、继承、多态 对象 现实世界中&#xff1a;万物皆对象&#xff0c;都具…

孟德尔随机化周报 (12.14)

欢迎报名2023年郑老师团队课程&#xff01; 郑老师科研统计培训&#xff0c;包括临床数据、公共数据分析课程等&#xff0c;欢迎报名 孟德尔随机化,Mendilian Randomization&#xff0c;简写为MR&#xff0c;是一种在流行病学领域应用广泛的一种实验设计方法&#xff0c;利用公…

android计算器弹窗,android实现简易计算器

本文实例为大家分享了android实现简易计算器展示的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下效果图&#xff1a;一、如图&#xff0c;首先布局计算器主页显示activity_main.xmlxmlns:tools"http://schemas.android.com/tools"android:layout_width&qu…

多选取值_机制砂如何控制MB值和石粉含量

随着环保政策的加强和河沙采挖禁令的收紧&#xff0c;机制砂逐渐成为建筑用砂的主流。但很多砂石厂生产设备落后、生产条件简陋、生产工艺不完善导致生产的机制砂品质低&#xff0c;质量不能满足高等级混凝土的要求。不仅卖不上价格&#xff0c;还浪费了矿石资源&#xff0c;挣…

python爬虫哪个选择器好用_Python网络爬虫四大选择器用法原理总结

前几天小编连续写了四篇关于Python选择器的文章&#xff0c;分别用正则表达式、BeautifulSoup、Xpath、CSS选择器分别抓取京东网的商品信息。今天小编来给大家总结一下这四个选择器&#xff0c;让大家更加深刻的理解和熟悉Python选择器。 一、正则表达式 正则表达式为我们提供了…

C++primer习题--第3章

【习题 2.11】 编写程序&#xff0c;要求用户输入两个数——底数&#xff08; base&#xff09;和指数&#xff08; exponent&#xff09;&#xff0c;输出底数的指数次方的结果。 #include <iostream> #include <math.h> #include <string> using namespace…