leetcode
文章平均质量分 92
Super-B
这个作者很懒,什么都没留下…
展开
-
红黑树的插入(中篇)
在一棵AVL树中,我们通过左旋和右旋来调整由于插入和删除所造成的不平衡问题。在红黑树中,可以使用两种方式进行平衡操作:原创 2022-09-24 19:25:27 · 432 阅读 · 0 评论 -
红黑树的定义(上篇)
每个节点都有一种颜色,不是红色就是黑色;树的根节点是黑色;树中不存在两个相邻的红色节点(红色节点的父节点和孩子节点中都不能含有红色节点);从任意节点出发到其任何后代节点的每条路径中包含的黑色节点的数量相同。注意:为了更好的进行插入和删除操作,我们将所以的叶子节点的左右孩子节点设置为黑色的null节点,即逻辑空节点,但是在代码遍历的时候可以访问到。原创 2022-09-24 16:57:38 · 1673 阅读 · 0 评论 -
二叉树前中后序遍历(非递归),搜索二叉树迭代器
二叉树前中后序遍历(非递归)递归方式在这就不列举了,这里使用栈的方式来进行前中后序遍历二叉树。前,中序遍历中序:使用一个栈,从根节点出发,1.将左节点压入栈中,head = head,left继续迭代,不断迭代直到左节点为空。2.然后将stack栈顶元素pop出来存在head中,打印head,3.将head = head.right,重复以上1,2。写出的代码如下: public List<Integer> inorderTraversal(TreeNode root) {原创 2022-03-22 01:10:25 · 3088 阅读 · 0 评论 -
字符串匹配(BF算法,KMP算法)
最近刷leetcode,刷到了字符串匹配算法,算法链接:实现strtStr()1.BF算法一开始解决这题的基本思想就是暴力匹配了,也就是BF算法,主串A,模式串B、对A串从头遍历到尾,每个位置都和B串进行一一比对,有一个位置不等,那么遍历A串的下一个位置,直到A串中字串有和B相等的或者A串遍历到尾部了就结束。实现代码如下: public int strStr(String haystack, String needle) { if (needle == null || needl原创 2021-12-23 18:28:07 · 924 阅读 · 0 评论