leetcode/牛客网刷题笔记

题目描述

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
 
输入:
1 2 8 9 
2 4 9 12 
4 7 10 13
6 8 11 15
7
输出:
true
思路:从左小角开始遍历,第一次遍历到刚好大于target的下标,然后往上遍历,如果有返回,如果没有,遍历下一列。
 

public class Solution {
public boolean Find(int target, int [][] array) {
int flag = 0;
int row = array.length-1;
int col = array[0].length;
int j = 0;
//从左下角开始遍历,寻找大于target的下标
//遍历列方向
while(j < col){
int i = row;
if(array[i][j] == target) return true;
else if(array[i][j] > target) //如果array最后一行元素大于target,遍历这一列
{
while( i >= 0){
if(array[i][j] == target ) return true;
i--;
}
}
j++;
}
return false;
}
}

总结:自己真是菜,这么简单,写了20分钟,太久没摸这些题了,慢慢来。 2018/10/29

====================================

题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 
直接就自带的两个函数完事,StringBuffer.toString, String.repalce(str1,str2)

public class Solution {
public String replaceSpace(StringBuffer str) {
String str1 = str.toString();
String str2 = str1.replace(" ","%20");
return str2;
}
}

 

======================================

输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

思路,遍历传入的头节点存入temp,然后反取

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        //返回一个ArrayList
        ArrayList<Integer> result = new ArrayList<Integer>();
        ArrayList<Integer> temp = new ArrayList<Integer>();
        ListNode tempNode = listNode;
        while(tempNode != null){
            temp.add(tempNode.val);
            tempNode = tempNode.next;
        }
        for(int i = temp.size() - 1 ; i>=0 ; i--){
            result.add(temp.get(i));
        }
        return result;
          
    }
}

===========================================

题目描述

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
 
posted @ 2018-10-28 20:57  jellyj  阅读(278)  评论(0编辑  收藏  举报