![](https://img-blog.csdnimg.cn/20181217145242962.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode Java实现
leetcode Java实现leetcode Java实现leetcode Java实现leetcode Java实现
布尔bl
用双手编制代码
展开
-
二叉搜索树的后序遍历序列
/** * 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 * 如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 * * 思路: * 1、二叉搜索树特点:左树节点<根节点<右树节点 * 2、递归思路 * 3、寻找左节点:比根节点小,此时右节点也会找到 * 4、只需断右节点是否符合二搜,因为上面找到的左节点肯定符合规律 ...原创 2019-01-02 17:31:15 · 92 阅读 · 0 评论 -
举例让抽象具体化 从上往下打印二叉树
import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; /** * 题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 * * 思路: * 1、寻找规律,发现可以使用队列解决问题 * 2、先找到头结点 * 3、使用循环弹出队头,然后压入...原创 2018-12-28 10:20:05 · 127 阅读 · 0 评论 -
栈的压入、弹出序列
import java.util.Stack; /** * 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。 * 假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1 * 是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 * (注意:这两个序列的长度是相等的)!...原创 2018-12-26 16:42:45 · 69 阅读 · 0 评论 -
题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
//求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字 //及条件判断语句(A?B:C)。 public class Solution { public int Sum_Solution(int n) { //if(n == 0){ // return 0; //} ...原创 2018-12-17 19:36:07 · 122 阅读 · 0 评论 -
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数 (时间复杂度应为O(1))。
import java.util.Stack; /** * 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数 * (时间复杂度应为O(1))。 */ public class Solution { static Stack<Integer> date = new Stack<>(); static Stack<Inte...原创 2018-12-17 17:30:15 · 168 阅读 · 0 评论 -
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分, 所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
/** * * 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分, * 所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 * * */ public class Solution { public static void reOrderArray(int [] array) { int[]...原创 2018-12-17 11:29:19 · 214 阅读 · 0 评论 -
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
/** * Created by buer on 2018/12/16. * 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 * * 递归解法:要有basecase 结束条件 */ public class Solution { /** * 牛客有内置,下面内部类要去掉 */ public static ...原创 2018-12-17 10:10:07 · 111 阅读 · 0 评论 -
二分查找算法
思想:找中间的数,变换左右边界值 编程要点:设置 l<=r 作为作为循环判断标志 import java.util.*; /** * 1、找到 * 2、没找到 */ public class Main { public static void main(String[] args) { int[] arr = new int[]{1, 4, 7, 9,......原创 2018-12-15 11:41:56 · 83 阅读 · 0 评论