牛客图书馆 > 读书笔记
  • 23.二叉搜索树的后序遍历序列

    --i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。 public class Solution { public boolean VerifySque...
    奋进小青年 编辑于 2019-05-06 12:50:51
  • 22.从上往下打印二叉树

    使用两个队列,一个用来存储节点用于遍历二叉树,一个用于存储节点的值作为返回值:先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到队列中来。 public class Solution {     pu...
    奋进小青年 编辑于 2019-05-05 22:07:52
  • 21.栈的压入、弹出序列

    【思路】借用一个辅助的栈,遍历压栈顺序,先将第一个放入栈中,这里是1,然后判断栈顶元素是不是出栈顺序的第一个元素,这里是4,很显然1≠4,所以我们继续压栈,直到相等以后开始出栈,出栈一个元素,则将出栈顺序向后移动一位,直到不相等,这样循环等压栈顺序遍历完成,如...
    奋进小青年 编辑于 2019-05-05 13:00:34
  • 20.包含min函数的栈

    迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法ite...
    奋进小青年 编辑于 2019-05-04 15:03:18
  • 19.顺时针打印矩阵

    本题采取记录最外圈四个角的位置方法, 当满足左右间距大于1,上下间距大于1时,每次剥下一圈,将四个角都往内移一位,再判断是否满足条件; 当不满足上述条件时,判断是一行或者一列或者单独一个元素,将该行、该列、该元素加入List。 代码如下: import ...
    奋进小青年 编辑于 2019-05-04 12:56:57
  • 17.树的子结构

    定义:父树包含子树的所有节点,注意,空树不是任何数的子树。 思路:用递归来实现,从A树的根节点开始,判断其所有的节点是不是依次和树B相同,如不同,递归调用函数,继续判断树A当前节点的左子树的所有节点或右子树的所有节点是否和树B所有节点相同,直到遍历到父树A的叶...
    奋进小青年 编辑于 2019-05-03 23:39:21
  • 16.合并两个排序的链表

    输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 注:链表1和链表2是两个递增排序的链表,合并这两个链表得到升序链表为链表3. 首先分析合并两个链表的过程。我们的分析从合并两个链表的头结点开始。链表1的头...
    奋进小青年 编辑于 2019-05-03 22:33:47
  • 15.反转链表

    预备知识 链表之类的题目,一般都会涉及到指针的指向问题,对于这类问题,我们可以通过画图来找思路,空想总是比不过烂笔头。注意链表的三种情况,做到万无一失。 输入的链表头指针是null 输入的链表只有一个结点 输入的链表有多个结点 思路一 我们先画图看看如何...
    奋进小青年 编辑于 2019-04-30 16:33:21
  • 第七章 函数表达式

    函数表达式 关于函数表达式,首先介绍的是定义函数的方式,有两种:一种是函数的声明,另一种就是函数表达式。两者语法区别如下:////函数声明 function FucName(arg0,arg1){ //函数体 } ////函数表达式 var a= fun...
    蜗牛吃葡萄 编辑于 2019-04-30 15:43:40
  • 14.链表中倒数第k个节点

    代码思路如下:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。。 /* public class Li...
    奋进小青年 编辑于 2019-04-30 15:27:14