- 博客(90)
- 收藏
- 关注
原创 相交链表-list
用哈希表把heada存进哈希,在用哈希表的count(b),这个计算b出现几次,没出现就是=0;链表没有直接求几个的size。
2024-07-21 16:42:16
466
原创 两数之和-哈希表题型
迭代器it,find返回迭代器,迭代器it->first是nums[],it->seconed是i;只进行一次遍历,没在哈希表中找到的值就直接存入哈希表;it遍历到end就代表没找到了;
2024-07-11 09:46:51
240
原创 两数之和、三数之和-vector双指针题型
如果写成(nums[i] == nums[i-1] && i >0)会报错,因为先执行的nums[i-1],i-1如果= -1就会报错,i>0放前面会先执行;双指针:left、right。
2024-07-08 13:34:48
168
原创 二进制求和、字符串相加-sting类题型
其中首先他是字符所以减去'0',ascll码相减就会变成能加减的数值,最后还要转变回来,所以+'0'用两个数据的末尾位相加,从末尾位开始逐位相加,记录进位;reverse是stl里面的算法,就是逆置;方法是先用个位相加,然后有进位的标记;两个题目方法完全一样。
2024-07-06 09:39:52
307
原创 验证二叉搜索树-二叉树题型
如果该二叉树的左子树不为空,则左子树上所有节点的值均小于它的根节点的值;若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值;它的左右子树也为二叉搜索树;左边图蓝色的要大于5小于4,所以这个不是二叉搜索树;递归左子树比较就传递这两个位置的值。右边图,黑色的要大于2小于4;递归右子树比较就传递这两个位置的值。搜索二叉树的中序遍历是递增有序的;
2024-07-05 12:59:32
169
原创 二叉树的右视图-二叉树
queue先进后出,每层从左往右进树,最后一个就是最右边的数;这样往下遍历,到达新一层的第一个节点就是右子树;就是到达新的深度的第一个就是最右边的;遍历顺序改为根、右子树、左子树;
2024-07-02 10:06:39
227
原创 求根到叶子节点数字之和-二叉树
一个是存root节点,一个存val;两个队列同时push,同时pop。两个队列,先进先出queue;遍历到叶子节点就返回;深度优先遍历dfs;
2024-07-01 12:37:39
207
原创 二叉树的层平均值-二叉树题型
一个queue存每层的root,在当前层的节点的left和right子节点push进去,当前层的节点pop完后,记录queue的size就知道有下一层有多少个节点;深度优先是一条路走到底;再回头走没走完的接着走;都是按照中序遍历走的。广度优先、就是每一层遍历完,再遍历下一层;
2024-06-27 13:34:17
136
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人