1丶判定是否互为字符重排
这个题我们用一个非常简单的思想就能实现,我们先将字符串转换为字符数组,然后对字符数组进行排序,然后再把排序完的字符数组转换为字符串,比较他们是否相等。
class Solution {
public boolean CheckPermutation(String s1, String s2) {
char[] s1Chars = s1.toCharArray(); // 将字符串转换成字符数组
char[] s2Chars = s2.toCharArray(); // 将字符串转换成字符数组
Arrays.sort(s1Chars); // 对字符数组进行排序
Arrays.sort(s2Chars); // 对字符数组进行排序
String str1=new String(s1Chars);
String str2=new String(s2Chars);
return str1.equals(str2); // 然后再将字符数组转换成字符串,比较是否相等;
}
}
2、杨辉三角
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> ret=new ArrayList<>();
List<Integer> row= new ArrayList<>();
row.add(1);
ret.add(row);//第一行
for (int i=1; i<numRows;i++){ //其余行
List<Integer> preRow=ret.get(i-1); //前一行
List<Integer> curRow= new ArrayList<>();
curRow.add(1);//每一行第一个1
for (int j=1;j<i;j++){//每一行中间元素的赋值
int x=preRow.get(j)+preRow.get(j-1);
curRow.add(x);
}
curRow.add(1);//每一行最后一个1
ret.add(curRow);
}
return ret;
}
}
3丶某公司的1个面试题(字符串包含问题)