LintCode刷题之路(一)
在算法和数据结构上,我觉得我是一个彻彻底底的小白,开始刷题吧。 #阶梯训练 ###1. 两个字符串是变位词 ######写出一个函数 anagram(s, t) 判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。 样例 给出 s = "abcd",t="dcab",返回 true. 给出 s = "ab", t = "ab", 返回 true. 给出 s = "ab", t = "ac", 返回 false. 首先看到这个题目 我们想到的就是字符串排序了,通过排序把字符调换成有顺序的字符串,再来比较。 所以就会出现以下代码 public class Solution { /** * @param s: The first string * @param b: The second string * @return true or false */ public boolean anagram(String s, String t) { //先查看长度是否相等,不相等则返回false if(s.length() != t.length()){ return false; } //转换成字符 然后排序 char[] sChar = s.toCharArray(); char[] tChar = t.toCharArray(); Arrays.sort(sChar);