剑指offer专题

Posted aiahtwo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer专题相关的知识,希望对你有一定的参考价值。

1.二维数组中的查找(简单题)

思路:初始在数组的左下角进行查找,若a[i][j]>target,则说明可能在上面的行中,i--;若a[i][j]<target,则说明可能在右边的列中,j++;若a[i][j]==target,则说明找到

技术图片
public class Solution {
    public boolean Find(int target, int [][] array) {
        int i=array.length-1,j=0;//刚开始在左下角
        while(i>=0&&j>=0&&j<array[0].length&&i<array.length){
            if(array[i][j]==target) return true;
            else if(array[i][j]>target) i--;//大于目标数,往上找
            else j++;//小于目标数,往右找
        }
        return false;
    }
}
View Code

2.替换空格(简单题)

思路:使用StringBuffer,String的一些方法,例如:toString(),append(),charAt()

技术图片
public class Solution {
    public String replaceSpace(StringBuffer str) {
        StringBuffer s1 = new StringBuffer();
        String s2 = str.toString();
        char c = ‘ ‘;
        for(int i = 0;i < s2.length();i++){
            if(c == s2.charAt(i)) s1.append("%20");
            else s1.append(s2.charAt(i));
        }
        return s1.toString();
    }
}
View Code

以上是关于剑指offer专题的主要内容,如果未能解决你的问题,请参考以下文章

《剑指offer》专题—算法训练 day02

《剑指offer》专题—算法训练 day04

《剑指offer》专题—算法训练 day03

剑指offer专题

Leetcode二叉树专题(仅需7道题就可以带你入门二叉树基本玩法)

力扣专题——剑指 Offer II 001. 整数除法