剑指offer(三十五)之确定两串乱序同构
2016-05-28 12:17
531 查看
题目描述
给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串重点空格。
给定一个string stringA和一个string stringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。
测试样例:
"This is nowcoder","is This nowcoder"
返回:true
"Here you are","Are you here"
返回:false
代码1:import java.util.*; public class Same { public boolean checkSam(String stringA, String stringB) { // write code here int A_len=stringA.length(); int B_len=stringB.length(); if(A_len!=B_len){ return false; } int[] strA = new int[256]; int[] strB = new int[256]; for(int i = 0; i <A_len; i++){ strA[stringA.charAt(i)]++; strB[stringB.charAt(i)]++; } for(int i = 0;i<256;i++){ if(strA[i]!=strB[i]){ return false; } } return true; } }方法二;
import java.util.*; public class Same { public boolean checkSam(String stringA, String stringB) { // write code here char [] ca = stringA.toCharArray(); char [] cb = stringB.toCharArray(); Arrays.sort(ca); Arrays.sort(cb); return Arrays.equals(ca,cb); } }方法三:
</pre></div><div><pre name="code" class="java">import java.util.*; public class Same { public boolean checkSam(String stringA, String stringB) { // write code here String []a=stringA.split(" "); String []b=stringB.split(" "); Arrays.sort(a); Arrays.sort(b); boolean flag=false; for(int i=0;i<a.length;i++){ if(a[i].equals(b[i])){ flag=true; }else{ flag=false; } } return flag; } }
相关文章推荐
- Caffe学习(3):训练自己的数据
- html中的语义相关元素介绍
- 第二章 Typescript
- Jquery easyUI datagrid加载复杂JSON数据方法
- 浅谈jQuery 中的事件冒泡和阻止默认行为
- css备忘录(关于relative、absolute)
- JS设计模式之工厂模式
- 当返回不了json对象的时候
- jquery取消事件冒泡的三种方法(推荐)
- CSS图片与文字水平对齐
- JQuery animate 动画效果出现抖动的解决办法
- caffe源码分析 vector<Blob<Dtype>*>& bottom
- javascript和python写的选择排序算法
- HDU 1015 Safecracker (DFS)
- 29.浅谈vim的buffer、window和tab
- JS设计模式之建造者模式
- CSS选择器优先级
- JSP编程--基本语法
- js中的闭包之我理解
- jqueryMobile 动态添加元素,展示刷新视图的实现方法