牛客图书馆 > 读书笔记
  • 63.数据流中的中位数

    import java.util.List; import java.util.ArrayList; import java.util.Arrays; public class Solution {     List<Integer> list=n...
    奋进小青年 编辑于 2019-06-15 16:39:53
  • 62.二叉搜索树的第k个结点

    //思路:二叉搜索树按照中序遍历的顺序打印出来正好就是排序好的顺序。 //     所以,按照中序遍历顺序找到第k个结点就是结果。 /* public class TreeNode {     int val = 0;     TreeNode le...
    奋进小青年 编辑于 2019-06-14 21:45:28
  • 61.序列化二叉树

    算法思想:根据前序遍历规则完成序列化与反序列化。所谓序列化指的是遍历二叉树为字符串;          所谓反序列化指的是依据字符串重新构造成二叉树。依据前序遍历序列来序列化二叉树,         因为前序遍历序列是从根结点开始的。当在遍历二叉树时碰到Nul...
    奋进小青年 编辑于 2019-06-14 12:59:40
  • 60.把二叉树打印成多行

    层次遍历,用一个队列辅助。第一层1个,每层弹完,记录下层的数量,以此类推。边弹边记录,就不用双队列了 import java.util.ArrayList; import java.util.LinkedList; import java.util.Que...
    奋进小青年 编辑于 2019-06-13 21:23:45
  • 59.按之字形顺序打印二叉树★

    根据题意,每行的节点的访问顺序是相反的,我们可以用两个栈来隔行存储,一个栈中根据“左结点->右结点”的顺序访问另一个栈的栈顶元素,而另一个栈根据“右子树->左子树”的顺序访问另一个栈的栈顶元素,直到两个栈都为空 import java.util...
    奋进小青年 编辑于 2019-06-13 11:57:14
  • 58.对称的二叉树

    //===================递归算法=============================// 1.只要判断pRoot.left和pRoot.right是否对称即可:左右节点的值相等且对称子树left.left, right.r...
    奋进小青年 编辑于 2019-06-12 20:50:21
  • 57.二叉树的下一个结点

    分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点; 3.节点不是根节点。如果该节点是其父节点的左孩子,则...
    奋进小青年 编辑于 2019-06-12 11:39:57
  • 56.删除链表中重复的结点

    /*  public class ListNode {//ListNode类为指针类     int val;     ListNode next = null;     ListNode(int val) {         this.val = val...
    奋进小青年 编辑于 2019-06-11 14:02:35
  • 55.链表中环的入口结点

    第一步,用两个快慢指针找环中相汇点。分别用slow,fast指向链表头部,slow每次走一步,fast每次走二步,直到fast == slow找到在环中的相汇点。 第二步,找环的入口。当fast == slow时,假设slow走过x个节点,则fast走过2x个...
    奋进小青年 编辑于 2019-06-11 00:00:52
  • 54.字符流中第一个不能重复的字符

    import java.util.ArrayList; import java.util.List; import java.util.HashMap; import java.util.Map; public class Solution {     Lis...
    奋进小青年 编辑于 2019-06-09 20:46:03