LintCode 字符串置换 JAVA
2017-07-27 17:24
316 查看
要求:给定两个字符串,请设计一个方法来判定其中一个字符串是否为另一个字符串的置换。
置换的意思是,通过改变顺序可以使得两个字符串相等。
样例
思路:如果两个字符串中有一个为null,为false;如果两个字符串的长度不一样,也是false;接着,把两个string字符串转换为两个char数组,然后把数组每个值转为int相加,即使顺序不同,但是他们相加的int是一样的。
置换的意思是,通过改变顺序可以使得两个字符串相等。
样例
"abc"为
"cba"的置换。
"aabc"不是
"abcc"的置换。
思路:如果两个字符串中有一个为null,为false;如果两个字符串的长度不一样,也是false;接着,把两个string字符串转换为两个char数组,然后把数组每个值转为int相加,即使顺序不同,但是他们相加的int是一样的。
public class Solution { /** * @param A a string * @param B a string * @return a boolean */ public boolean stringPermutation(String A, String B) { // Write your code here if (A == null || B == null) return false; char[] arrA = A.toCharArray(); char[] arrB = B.toCharArray(); int a = 0; int b = 0; if (arrA.length != arrB.length) return false; for (int i = 0; i < arrA.length; i++) { a += arrA[i]; b += arrB[i]; } if (a == b) return true; return false; } }
相关文章推荐
- LintCode-[容易] 211. 字符串置换
- 字符串置换 -LintCode
- LintCode:字符串置换211
- LintCode之字符串置换
- LintCode: 114. 不同的路径 Java
- LintCode_Java旅程 回文数
- LintCode Number of Airplanes in the Sky(Java)
- LintCode 交叉字符串
- Java for LintCode 颜色分类
- Lintcode两个字符串是变位词
- LintCode Java Basic, Integer and Array 第一部分
- LintCode之53 翻转字符串
- Java for LintCode 颠倒整数
- 算法题:lintcode#175 翻转二叉树(java)
- LintCode Wood Cut java solution
- 日常练习:lintcode 8:旋转字符串
- LintCode之13 字符串查找
- LintCode 13 字符串查找
- 6.【字符串】Reverse String--Accepted Java code
- LINTCODE——重复字符串