LintCode阶梯训练1-1
来源:互联网 发布:java注解不属于 编辑:程序博客网 时间:2024/05/16 02:30
两个字符串是变位词
写出一个函数 anagram(s, t)
判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。
样例1.自己的解法:
给出 s = "abcd"
,t="dcab"
,返回 true
.
给出 s = "ab"
, t = "ab"
, 返回 true
.
给出 s = "ab"
, t = "ac"
, 返回 false
.
public boolean anagram(String s, String t) {
// write your code here
int[] index = new int[256];
int s_len = s.length();
int t_len = t.length();
for (int i = 0; i < s_len; i++){
index[s.charAt(i)]++;
}
for (int i = 0; i < t_len; i++){
index[t.charAt(i)]--;
}
for (int i = 0; i < 256; i++){
if (index[i] != 0){
return false;
}
}
return true;
}
// write your code here
int[] index = new int[256];
int s_len = s.length();
int t_len = t.length();
for (int i = 0; i < s_len; i++){
index[s.charAt(i)]++;
}
for (int i = 0; i < t_len; i++){
index[t.charAt(i)]--;
}
for (int i = 0; i < 256; i++){
if (index[i] != 0){
return false;
}
}
return true;
}
2.出现的问题:
没有首先排除两个字符串长度不一的情况。并且在保证二者长度相等时,但凡计数数组为负即返回false,可以将解法化简。
0 0
- LintCode阶梯训练1-1
- lintcode阶梯训练第一关(九章)
- lintcode阶梯训练第二关(九章)
- lintcode阶梯训练第四关(九章)
- lintcode阶梯训练第五关(九章)
- lintcode阶梯训练第六关(九章)
- Lintcode[1]单例
- 进步的阶梯(1)---生成可执行jar包
- 训练1
- lintcode 1: Data Stream Median
- Lintcode 1 A + B 问题
- lintcode刷题(python)(1)
- LintCode python 小白1
- 【LintCode】1、A + B问题
- [Lintcode] #1 A + B 问题
- LintCode-(1)A + B 问题
- HDU5724 Chess 阶梯博弈变形 2016 Multi-University Training Contest 1
- 训练1-1
- hud-1018-Big Number
- 【Android初学者】框架布局:仿微信页面制作
- C#——事件
- Android之Dialog半透明背景消失
- matlab语言基础
- LintCode阶梯训练1-1
- Java线程(七)----Callable和Future
- Python的文件操作
- 909422229________【个人理解】编译时多态与运行时多态
- prototype 是什么东西,原型链的理解,什么时候用 prototype
- git常用操作
- Java线程(八)----锁对象Lock-同步问题更完美的处理方式
- 如何实现浏览器兼容版的element.dataset
- 单例模式完整的实现