程序员面试金典 面试题 01.02.判定是否互为字符重排
2021/5/21 1:24:40
本文主要是介绍程序员面试金典 面试题 01.02.判定是否互为字符重排,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
面试题 01.02.判定是否互为字符重排
题目描述
给定两个字符串s1
和s2
,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。
示例1
输入: s1 = “abc”, s2 = “bca”
输出: true
示例2
输入: s1 = “abc”, s2 = “bad”
输出: false
限制
0 <= len(s1) <= 100
0 <= len(s2) <= 100
示例代码
C++ 排序对比
#include <bits/stdc++.h> using namespace std; class Solution { public: bool CheckPermutation(string s1, string s2) { sort(s1.begin(), s1.end()) ; sort(s2.begin(), s2.end()) ; return s1 == s2 ; } }; int main() { Solution s; string str1_1 = "abc"; string str1_2 = "bca"; cout << s.CheckPermutation(str1_1,str1_2) << endl; string str2_1 = "abc"; string str2_2 = "bad"; cout << s.CheckPermutation(str2_1,str2_2) << endl; return 0; }
C++ 提交结果
执行用时:0 ms, 在所有 C++ 提交中击败了100.00% 的用户
内存消耗:5.8 MB, 在所有 C++ 提交中击败了96.26% 的用户
示例代码
Java 字符统计
public class Question01_02 { public static void main(String[] args) { Solution s = new Solution(); System.out.println(s.CheckPermutation("abc","bca")); System.out.println(s.CheckPermutation("abc","bcd")); } } class Solution { public boolean CheckPermutation(String s1, String s2) { if (s1.length() != s2.length() ) return false; int[] count = new int[256]; for(char ch : s1.toCharArray()) count[(int)ch]++; for (char ch : s2.toCharArray()) count[(int)ch]--; for (int i : count) if (i != 0) return false; return true; } }
Java 提交结果
执行用时:0 ms, 在所有 Java 提交中击败了100.00% 的用户
内存消耗:36 MB, 在所有 Java 提交中击败了78.75% 的用户
这篇关于程序员面试金典 面试题 01.02.判定是否互为字符重排的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?