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

示例:

输入: s1 = “abc”, s2 = “bca”
输出: true

输入: s1 = “abc”, s2 = “bad”
输出: false

解题思路:
如果s1可以通过编排变成s2,那么s1有的字符,s2一定有,且他们的个数也一定相同。那么我们可以每次都从s1中取出第一个字符,然后去s2中找,找到就把s2中该字符去掉,找不到直接返回false,直到s1和s2其中一个为空退出循环,此时再判断s1和s2是否都为空字符串,如果是,那么s1可以通过编排变成s2,返回true,如果不是,那么s1不能通过编排变成s2,返回false。

class Solution {public boolean CheckPermutation(String s1, String s2) {while(!s1.equals("") && !s2.equals("")){char temp = s1.charAt(0);s1 = s1.substring(1);//s1中有s2不存在的字符,返回falseint index = s2.indexOf(temp);if(index == -1)  return false;//s2中有s1中有的字符,删掉//查看索引是否是s2的最后一个元素if(index != s2.length() - 1){s2 = s2.substring(0,index) + s2.substring(index+1);}else{s2 = s2.substring(0,index);}}if(s1.equals("") && s2.equals(""))    return true;return false;}
}

力扣战绩:

判定是否互为字符重排(入门算法30)相关推荐

  1. 面试金典02(Python)—— 判定是否互为字符重排(简单)

    判定是否互为字符重排 概述:给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 输入: s1 = "abc", s2 = & ...

  2. 判定是否互为字符重排

    判定是否互为字符重排 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = "abc", s2 ...

  3. 365天挑战LeetCode1000题——Day 097 神策专场: 判定是否互为字符重排 按身高排序 按位与最大的最长子数组 找到所有好下标 好路径的数目

    面试题 01.02. 判定是否互为字符重排 代码实现(排序) class Solution {public:bool CheckPermutation(string s1, string s2) {s ...

  4. LeetCode:面试题 01.02. 判定是否互为字符重排————简单

    题目 面试题 01.02. 判定是否互为字符重排 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = " ...

  5. LC: 面试题 01.02. 判定是否互为字符重排

    题目: 面试题 01.02. 判定是否互为字符重排. 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 链接:https://leetcode ...

  6. 文巾解题 面试题 01.02. 判定是否互为字符重排

    1 题目描述 2 解题思路 2.1 replace 对每一个在s1中的字符,如果s2中没有,那么说明两个不匹配,返回false:如果s2中有,那么将s2中的一个这个字符换成'' 如果s1全部遍历完了, ...

  7. 程序员面试金典 - 面试题 01.02. 判定是否互为字符重排(哈希map)

    1. 题目 给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = "abc", s2 = &qu ...

  8. 面试题01.02 判定是否互为字符重排

    给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 例1: 输入: s1 = "abc", s2 = "bca&q ...

  9. 程序员面试金典01.02. 判定是否互为字符重排

    给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串. 示例 1: 输入: s1 = "abc", s2 = "bca ...

最新文章

  1. AI一分钟 | 特斯拉做空者频频“找茬”;自动驾驶汽车事故调查:人为是主因...
  2. GNN教程:图注意力网络(GAT)详解!
  3. Docker selenium自动化 - windows版docker的安装与运行环境检测
  4. boost::multiprecision模块实现导入/导出 cpp_int 的位 到 8 位无符号值的向量相关的测试程序
  5. 科技部成立新一代人工智能发展研究中心
  6. Java计算时间差_传统的SimpleDateFormat类
  7. React开发(133):ant design学习指南之form中input加前缀
  8. 五、工作量证明链解决拜占庭将军问题之模拟程序(Objective-C)
  9. Android零基础入门第87节:Fragment添加、删除、替换
  10. 四、hibernate实体对象,事务管理,锁
  11. sin的傅里叶变换公式_sin2t的傅里叶变换
  12. 离散数学 --- 命题逻辑 --- 基本推理形式和自然演绎法推理
  13. 苹果为何在中国一南一北设两个研发中心?五重考量
  14. 《流畅的Python》6-鸭子类型和切片原理
  15. Ubuntu操作系统的安装
  16. java语言中 逻辑常量_在 Java语言中 ,逻辑常量只有哪两个值 (true,false)_语文答案_学小易找答案...
  17. 数据结构— —单链表
  18. Unity3D实战入门之第三人称射击游戏(TPS)-伍晓波-专题视频课程
  19. 海康 网络摄像头 多摄像头数据传输及流解码
  20. 试试这三个黑科技APP,带给你不一样的体验

热门文章

  1. 中国水果和蔬菜种子市场趋势报告、技术动态创新及市场预测
  2. Simplify and Robustify Negative Sampling for Implicit Collaborative Filtering (Nips‘20) 论文小结
  3. UE4性能观察的基础
  4. 分享OMS系统实战的三两事
  5. 最实用idae快捷键
  6. 教师资格证报名网页兼容问题
  7. PySCIPOpt常用函数功能介绍(一)
  8. 6. ——21. 完整版
  9. for循环用腻了,试试列表生成式。
  10. 麦子学院美国商务中心成立,探索在线教育新高点www.maiziedu.com