public class Solution {
public boolean Find(int target, int [][] array) {
int len = array.length-1;
int i = 0;
while((len >= 0)&& (i < array[0].length)){
if(array[len][i] > target){
len--;
}else if(array[len][i] < target){
i++;
}else{
return true;
}
}
return false;
}
}
2.替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解题思路:逐个读取字符串的字符当为空格时使用replace函数经行替换即可。
public class Solution {
public String replaceSpace(StringBuffer str) {
int len = str.length() - 1;
while (len >= 0) {
char sign = str.charAt(len);
if (sign == ' ') {
str.replace(len, len+1, "%20");
}
len--;
}
return str.toString();
}
}
3.从尾到头打印链表
题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
解题思路:使用HashMap存储整个链表的顺序结构结构,再逆序存入ArrayList,返回结果。
public class Solution {
public static ArrayList<Integer> printListFromTailToHead(ListNode listNode){
Map<Integer,ListNode> map = new HashMap<>();
int num = 0;
ArrayList<Integer> result = new ArrayList();
while(listNode != null){
map.put(num,listNode);
num ++;
listNode = listNode.next;
}
num--;
for (;num >= 0 ;num--){
result.add(map.get(num).val);
}
return result;
}
}
public class Solution {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node) {
stack1.push(node);
}
public int pop() {
if(stack2.isEmpty()){
while (!stack1.isEmpty()){
stack2.push(stack1.pop());
}
}
return stack2.pop();
}
}
/*题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 */public class replaceSpace { public static String replaceSpace(StringBuffer str) { int len = str....