文章分类 -  leetcode刷题

摘要:递归的确定有三部曲,但是这里加上自己理解的再加上一步曲(以对称二叉树为例) 首先第一步曲:确定函数的作用,这一步最关键,因为你既然确定了作用,那么后面这个函数就是这个作用,即使你还没有实现(这也是自己加上的一步曲) 确定函数的作用,这一点至关重要(对于对称二叉树而言,也就是比较两个节点的数值是不是相 阅读全文
posted @ 2023-03-14 10:20 铜锣湾陈昊男 阅读(11) 评论(0) 推荐(0)
摘要:题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root = [2,1,3] 输出:[2,3,1] 示例 3: 输入:root = [] 输出:[] 思 阅读全文
posted @ 2023-03-13 18:21 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 示例 2: 输入:root = [1] 输出:[[1]] 示例 3: 阅读全文
posted @ 2023-03-13 17:41 铜锣湾陈昊男 阅读(17) 评论(0) 推荐(0)
摘要:题目 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 思路 ##递归法:思想和前面的相同 ##迭代 阅读全文
posted @ 2023-03-10 21:44 铜锣湾陈昊男 阅读(13) 评论(0) 推荐(0)
摘要:题目 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 思路 递归法:递归法的思想还是和前序遍历的思想 阅读全文
posted @ 2023-03-10 21:13 铜锣湾陈昊男 阅读(9) 评论(0) 推荐(0)
摘要:题目 示例 1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root = [1,2] 输出:[1,2] 示例 5: 输入:root = [1,null, 阅读全文
posted @ 2023-03-10 13:51 铜锣湾陈昊男 阅读(3) 评论(0) 推荐(0)
摘要:题目 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入:ransom 阅读全文
posted @ 2023-03-09 12:03 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:题目 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 示例 1: 阅读全文
posted @ 2023-03-08 12:19 铜锣湾陈昊男 阅读(8) 评论(0) 推荐(0)
摘要:题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2 阅读全文
posted @ 2023-03-08 00:50 铜锣湾陈昊男 阅读(6) 评论(0) 推荐(0)
摘要:题目 长编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1,那么这个数就是快乐数。 如果 n 是 快乐数 就返回 tr 阅读全文
posted @ 2023-03-07 20:47 铜锣湾陈昊男 阅读(10) 评论(0) 推荐(0)
摘要:题目 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], num 阅读全文
posted @ 2023-03-06 13:52 铜锣湾陈昊男 阅读(6) 评论(0) 推荐(0)
摘要:题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = " 阅读全文
posted @ 2023-03-06 13:01 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 阅读全文
posted @ 2023-03-05 19:08 铜锣湾陈昊男 阅读(8) 评论(0) 推荐(0)
摘要:题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1: 输入:inte 阅读全文
posted @ 2023-03-05 01:28 铜锣湾陈昊男 阅读(8) 评论(0) 推荐(0)
摘要:题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0,1 阅读全文
posted @ 2023-03-02 15:04 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出: 阅读全文
posted @ 2023-03-02 15:02 铜锣湾陈昊男 阅读(10) 评论(0) 推荐(0)
摘要:题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3: 输入:head = 阅读全文
posted @ 2023-03-01 22:13 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 思路 双指针法,前后一个指针 阅读全文
posted @ 2023-03-01 17:53 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:题目 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类 阅读全文
posted @ 2023-02-28 21:30 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [], 阅读全文
posted @ 2023-02-25 16:20 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)