【Java】一只小菜坤的编程题之旅【3】

文章目录

  • 1丶判定是否互为字符重排
  • 2、杨辉三角
  • 3丶某公司的1个面试题(字符串包含问题)


1丶判定是否互为字符重排

【Java】一只小菜坤的编程题之旅【3】_第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、杨辉三角

【Java】一只小菜坤的编程题之旅【3】_第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个面试题(字符串包含问题)

【Java】一只小菜坤的编程题之旅【3】_第3张图片

【Java】一只小菜坤的编程题之旅【3】_第4张图片
【Java】一只小菜坤的编程题之旅【3】_第5张图片

你可能感兴趣的:(小菜坤的编程题之旅,java,编程题,简单)