03 2020 档案
发表于 2020-03-30 18:52阅读次数:553评论次数:0
摘要:给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 题解1: 使用递归,左中右 1 /** 2 * Definition for a binary tree node. 3 *
阅读全文 »
发表于 2020-03-30 17:44阅读次数:1004评论次数:0
摘要:内存泄漏定义(memory leak): 一个不再被程序使用的对象或变量还在内存中占有存储空间。 一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存溢出 out of memory : 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间
阅读全文 »
发表于 2020-03-30 11:42阅读次数:199评论次数:0
摘要:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 提示: 0 <
阅读全文 »
发表于 2020-03-30 11:25阅读次数:677评论次数:0
摘要:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需
阅读全文 »
发表于 2020-03-30 11:02阅读次数:233评论次数:0
摘要:用两个栈实现一个队列。 队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 提示: 1 <= values <= 10000 最多会对 appendTai
阅读全文 »
发表于 2020-03-29 22:43阅读次数:149评论次数:0
摘要:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7
阅读全文 »
发表于 2020-03-29 21:58阅读次数:161评论次数:0
摘要:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 题解1:(取巧方法,不通用) 思路如下: 首先算出链表的长度 创建保存结果的数组 然后再遍历一遍,从尾部开始 复杂
阅读全文 »
发表于 2020-03-29 19:45阅读次数:225评论次数:0
摘要:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy."输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 方法1:使用String类的replace()方法 方法2:使用String类的spli
阅读全文 »
发表于 2020-03-29 19:36阅读次数:138评论次数:0
摘要:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19]
阅读全文 »
发表于 2020-03-29 19:26阅读次数:239评论次数:0
摘要:找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内(题设要点)。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 限制: 2 <= n <= 100000 方法一:哈希表(最自然
阅读全文 »
发表于 2020-03-29 19:05阅读次数:2720评论次数:0
摘要:自定义数组 主要功能有增、删(根据索引,根据值)、改、查扩容等功能 1 package array; 2 3 public class CustomArray { 4 private int[] array = null; 5 //数组有效长度 6 public int length = 0; 7
阅读全文 »
发表于 2020-03-29 18:17阅读次数:398评论次数:0
摘要:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以
阅读全文 »
发表于 2020-03-29 18:10阅读次数:714评论次数:0
摘要:private: 1.在当前类开发中,main方法之外可以直接借助名字使用,当前类的main方法中可以使用对象打点的方式直接使用成员。 2.在当前类之外,使用对象(或是类名,针对静态的)打点调用都是被限制的。这时候有同学问,那我开发的这个私有的成员难道不能使用了吗?不是,可以通过在当前类中开发一个公
阅读全文 »
发表于 2020-03-29 17:57阅读次数:116评论次数:0
摘要:抽象: 抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 继承: 继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类;得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延
阅读全文 »
发表于 2020-03-29 17:33阅读次数:582评论次数:0
摘要:(1)通过StringBuilder的reverse()方法,速度最快: 1 public class StringReverse { 2 public static void main(String[] args) { 3 String str="hello"; 4 System.out.prin
阅读全文 »
发表于 2020-03-28 18:44阅读次数:1676评论次数:0
摘要:不对,俩个对象的hashCode()相同,equals()不一定为true。 代码示例: 1 String str1 = "通话"; 2 String str2 = "重地"; 3 System.out.println(String.format("str1:%d | str2:%d", str1.
阅读全文 »
发表于 2020-03-27 14:48阅读次数:835评论次数:0
摘要:== 解读 对于基本类型和引用类型 == 的作用效果是不同的,如下所示: 基本类型:比较的是值是否相同; 引用类型:比较的是引用是否相同; 代码示例: 1 String x = "string"; 2 String y = "string"; 3 String z = new String("str
阅读全文 »