- 博客(14)
- 收藏
- 关注
原创 三数之和(排序+双指针)
a、当 nums[i]+nums[L]+nums[R]==0,执行循环,判断左界和右界是否和下一位置重复,(1)若 nums[i]>0:因为已经排序好,所以后面不可能有三个数加和等于 0,直接返回结果。(1)特判,对于数组长度 nnn,如果数组为 null或者数组长度小于 3,返回 []。并同时将 L,R移到下一位置,寻找新的解。c、若和小于 0,说明 nums[L] 太小,L右移。b、若和大于 0,说明 nums[R],R左移。(2)对于重复元素:跳过,避免出现重复解。(2)对数组进行排序。
2023-08-20 15:25:09
121
1
原创 二叉搜索树
当删除的结点有左、右两棵子树,我们删除该结点后需要考虑怎么处置它的孩子结点。根据二叉搜索树的定义:每一个结点的右孩子都比自己大,左孩子都比自己小。当要删除的结点只有一个孩子结点,我们删除该结点后需要考虑怎么处置它的孩子结点。因为被删除的结点的孩子无论是左孩子还是右孩子,都只会比被删除的结点的父结点小,所以我们只需要将被删除的结点的父结点的指针指向被删除的结点的孩子结点。叶结点就是左右子树都为空的结点,既然左右子树都为空,删掉它并没什么后顾之忧,所以当我们要删除的是叶结点的时候,直接删除就好了。
2023-05-24 16:58:53
125
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人