剑指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; } }
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(); } }
以上是关于剑指offer专题的主要内容,如果未能解决你的问题,请参考以下文章