力扣刷题笔记
文章平均质量分 70
主要记载力扣刷题心得
接受平凡 努力出众
执行力,就是生命力!
展开
-
4.力扣刷题之消失的数字
思路二:数组nums中有n个数,在这n个数的后面添加从0到n的每个整数,则添加了n+1个整数,共有2n+1个整数。在2n+1个整数中,消失的数字只在后面n+1个整数中出现一次,其余的数字在前面n个整数中和后面n+1个整数中各出现一次,即其余的数字都出现了两次。按位异或运算满足交换律和结合律,且对任意整数x都满足x^x=0和x^0=x;思路一:遍历数组nums,将数组中的元素加入到哈希集合中,然后依次从0到n检查是否在哈希集合中,如果不在则是我们要找的数字。原创 2023-01-29 15:41:31 · 1124 阅读 · 1 评论 -
3.力扣刷题之数组中数字出现的次数
由于这两个数不同,所以异或结果必然不等于0.根据这个特性,我们可以采用分组的方法解决这个问题,且分组要满足两个条件:1.两个相同的数必须在同一组;不难知道,二进制位是1,就表示1和6这个二进制位上的数不同。这就表示了1和6的二进制数在第一、二、三位上的数是不同的。这样就成功的将1和6分到了不同的组别中,而相同的数例如4,因为4和4的第一个二进制位是必然相等的,这样也就实现了将两个相同的数划分到同一组。解决此题首先要清楚异或的概念。相同的数异或为0,不同的数异或为1,,此外0和任何数异或等于这个数本身。原创 2023-01-29 14:12:22 · 1098 阅读 · 2 评论 -
2.力扣刷题之合并两个有序链表
本题是将两个有序的链表合并在一起,需要创造一个新的链表dummy,为了保证最终返回结果是新链表的开头,即令p=dummy,让p进行插入等一系列操作,同样令p1=l1,p2=l2,while循环每次比较p1和p2的大小,把比较小的节点接到结果的链表上,为了方便用到了虚拟头结点的技巧,即就是dummy节点,目的是为了简化边界情况,降低代码复杂度。原创 2023-01-14 15:09:12 · 1079 阅读 · 3 评论 -
1.力扣刷题之二分查找
写二分法,区间的定义主要是两种,左闭右闭即[left,right]或者左闭右开[left,right).二分法应该是我们刚学编程时最早遇到的算法题,思想很简单,代码也不困难,但是当中的边界问题,很容易出错。这些都是使用二分法的前提条件,当我们看到这些字眼的时候,就要想一下是不是能用二分法。下面就跟大家一起用这两种写法来解题。原创 2023-01-14 11:50:07 · 2628 阅读 · 3 评论 -
力扣刷题之平衡二叉树
Welcometoyou,每日一刷系列平衡二叉树递归迭代平衡二叉树思路:一打眼看这道题很像前面我做的那个二叉树的最大深度,不过还是很有区别的。这里我们先看一个概率:就是高度和深度的区别:高度:指从根节点到该节点的最长简单路径边的条数。深度:指从根节点到该节点的最长简单路径边的条数。求二叉树的深度我们用前序遍历,边遍历边记录深度,当然那道题也能用后序遍历做,求出来的高...原创 2022-04-24 12:14:16 · 716 阅读 · 12 评论 -
力扣刷题之完全二叉树的节点个数
Welcometoyou,每日一刷系列完全二叉树的节点个数递归迭代优化做法完全二叉树的节点个数这道题我们先用普通二叉树来做这道题。那普通二叉树求节点个数,无非就是递归或者是迭代。递归和我们前面讲的二叉树的最大深度类似,而迭代即与我们前面讲的二叉树的最大深度代码极为相似,只需要改一点就行.递归根据递归三部曲就行.1.确定递归函数的参数和返回值:参数就是传入树的根节点,返回就返回以该...原创 2022-04-22 14:04:37 · 1919 阅读 · 11 评论 -
力扣刷题之对称二叉树(二)
Welcometoyou,每日一刷系列前言相同的树递归迭代另一颗树的子树递归前言本节是根据上篇博客遗留下的问题进行讲解,大家可以看下这篇博客:力扣刷题之对称二叉树(一)_skeet follower的博客-CSDN博客相同的树这题就是前一章题目的变形,方法基本一致,这里不做过多介绍,大家可以看下上篇博客递归class Solution {...原创 2022-04-14 20:22:44 · 463 阅读 · 0 评论 -
力扣刷题之对称二叉树(一)
对称二叉树原创 2022-04-14 19:17:08 · 735 阅读 · 8 评论 -
力扣刷题之翻转二叉树
Welcometoyou,每日一刷系列翻转二叉树翻转二叉树可以发现想要翻转它,其实就把每一个节点的左右孩子交换一下就可以了。关键在于遍历顺序,前中后序应该选哪一种遍历顺序? (一些同学这道题都过了,但是不知道自己用的是什么顺序)遍历的过程中去翻转每一个节点的左右孩子就可以达到整体翻转的效果。注意只要把每一个节点的左右孩子翻转一下,就可以达到整体翻转的效果这道题目使用前...原创 2022-04-13 09:12:43 · 710 阅读 · 7 评论 -
力扣刷题之二叉树的层序遍历
二叉树的层序遍历原创 2022-04-12 16:23:51 · 2299 阅读 · 10 评论 -
力扣刷题之二叉树的前中后序遍历
Welcometoyou,每日一刷系列前言二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历前言推荐:东哥带你刷二叉树(纲领篇) :: labuladong的算法小抄 (gitee.io) 代码随想录 (programmercarl.com)二叉树的前序遍历法一:递归;可以参考我之前写的博客:深入递归对递归有详细介绍.class Solutio...原创 2022-04-11 14:50:35 · 1320 阅读 · 6 评论 -
力扣刷题之二叉树的最大深度
Welcome to you,每日一刷系列二叉树的最大深度N叉树的最大深度前言从今天开始,我跟大家一起刷力扣上的练习题,先从二叉树开始,这里练好,后面的回溯算法,动态规划啥的也就得心应手了.参考此公众号做的笔记:东哥带你刷二叉树(纲领篇) :: labuladong的算法小抄 (gitee.io)代码随想录 (programmercarl.com)这里面对二叉树做了详细的讲解,推荐大家去看下,我就光分享一下我做题的思路吧。二叉树的最大深度二叉树题目的递归解法...原创 2022-04-10 19:07:17 · 1136 阅读 · 7 评论