![](https://img-blog.csdnimg.cn/direct/fcf53e993ccc4b7c871f3d92cbd462ab.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode
文章平均质量分 59
例题
苏貝貝
勤奋耕耘,收获满满;不辍努力,未来可期。
展开
-
【leetcode】左叶子之和
其次,不是空树,如果某个节点的左孩子节点是叶子节点,那么返回左孩子节点的值与递归该节点的右子树返回的值之和。如果某个节点的左孩子节点不是叶子节点,那么返回递归该节点的左子树返回的值与递归该节点的右子树返回的值之和。这道题比较简单,如果你还是有些不清楚的话,建议画个递归流程图。原创 2024-03-28 10:34:26 · 285 阅读 · 1 评论 -
【leetcode】环形链表的约瑟夫问题
很简单,让cur先走,prev指向cur的前一个结点,如果报到2,让prev指向cur的下一个节点,再free(cur)即可。上面的思路中,如果有人报到2,让前一个结点指向该节点的后一个节点,再释放该节点,这该如何实现呢?首先我们要明确一点,题目要求我们要用环形链表,所以用数组等是不被允许的。原创 2024-03-28 10:23:25 · 473 阅读 · 0 评论 -
【leetcode】二叉树的前序遍历➕中序遍历➕后序遍历
根据提示,我们应该先动态开辟一个数组,之后按前序遍历的顺序将二叉树的值插入数组中,最后再返回这个数组。我们再来看函数给定的形参是什么:root是指向二叉树的根节点的指针,*returnsize是数组的大小,而非题目给我们已经开辟好的数组。然后,我们将二叉树的值按前序遍历的顺序放入数组中。首先我们要想开辟数组,那么我们需要知道数组的大小,也就是二叉树的节点总数,用下面这个函数来返回节点总数。原创 2024-03-15 17:22:23 · 524 阅读 · 0 评论 -
【leetcode】相同的树➕对称二叉树➕另一棵树的子树
我们仔细看代码,当root->val==subRoot->val时,返回isSameTree(root,subRoot)的值,如果返回false,那么。这道题同相同的树相似,只不过相同的树是比较2个树的同侧子树,而这道题是比较不同侧子树。好了,那本题的代码很轻易地就写出来了,那这对不对呢?原创 2024-03-12 21:47:56 · 392 阅读 · 0 评论 -
【leetcode】单值二叉树
点击查看题目思路:好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️原创 2024-03-12 20:54:54 · 347 阅读 · 0 评论 -
【leetcode】用栈实现队列
在做此题之前,我们先要实现栈,这在上个博客中已经写过,在这就不在赘述,下面是实现队列的代码。原创 2024-03-02 19:42:55 · 382 阅读 · 7 评论 -
【leetcode】用队列实现栈
在做此题之前,我们先要实现队列,这在上个博客中已经写过,在这就不在赘述,下面是实现队列的代码。现在我们来写本题的代码。原创 2024-03-02 17:01:22 · 583 阅读 · 1 评论 -
【leetcode】有效的括号
如果觉得没有的话,请往上看我们注意的第二条:要将栈销毁。在上面这段代码中只有返回true时才销毁了栈,返回false时都没有销毁。其实最后判断是否为空,不为空返回false,为空返回true也可以写成这样。实现栈在上个博客中已经写过,在这就不在赘述。上面是实现栈的代码,下面写本题代码。原创 2024-03-02 15:48:39 · 454 阅读 · 0 评论 -
【leetcode】随机链表的复制
点击查看题目思路:好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️原创 2024-03-01 21:08:33 · 451 阅读 · 0 评论 -
【leetcode】链表分割
将链表分为2个链表list1和list2,list1是小于x的所有节点,list2是剩余的节点。最后将list1的最后一个节点指向list2的第一个节点。这种方法就不需要分多钟情况进行讨论,记得最后将开辟的空间释放掉,这是一个好习惯。原创 2024-02-29 21:44:04 · 497 阅读 · 0 评论 -
【leetcode】链表的中间节点
slow和fast都初始化为head,之后slow每走1步,fast走2步。原创 2024-02-29 20:23:09 · 407 阅读 · 0 评论 -
【leetcode】合并两个有序数组✚合并两个有序链表
如示例1中:1原创 2024-02-04 17:10:43 · 45 阅读 · 1 评论 -
【leetcode】消失的数字
在本题中,先使x=0(因为0^ 任何数=任何数本身),再让x与0-n(n是数组的元素个数)的所有数字异或,再让x与nums数组的全部元素异或;当数组为[3,0,1]时,x与0-3的全部数字异或,再与数组元素[3,0,1]异或,即。如当数组为[3,2,0,1]时,求出0-4所有数的和=10,再-0-1-2-3=4,所以消失的数字是4。异或:两个整数的相同位置:相同为0,不同为1(二进制),易知a^ a=0,a^ 0=a;通过2个for循环,遍历查找0-n中缺少的数字,比较简单,不写,时间复杂度为O(N^2)原创 2024-01-19 06:00:00 · 571 阅读 · 24 评论 -
【leetcode】移除元素
先创建一个元素个数大于或等于nums数组的数组tmp,src和dst分别是数组nums和tmp的下标,初始化都=0,当nums[src]不等于val时,将之拷贝到tmp数组中,拷贝的位置为tmp[dst],再src++,dst++;创建变量src和dst,它们都是数组nums的下标,初始化都为0,当nums[src]不等于val时,让nums[dst]=nums[src],再src++,dst++,相当于src位置的元素保留;当nums[src]等于val时,直接src++,相当于src位置的元素被移除。原创 2024-01-21 17:44:35 · 573 阅读 · 12 评论