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个面试题(字符串包含问题)