【LeetCode刷题(数组and排序)】:存在重复元素
给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 示例 1: 输入:nums = [1,2,3,1] 输出:true 示例 2: 输入:nums = [1,2,3,4] 输出:false 示例 3: 输入:nums = [1,1,1,3,3,4,3,2,4,2] 输出:true 方法:排序 在对数字从小到大排序之后,数组的重复元素一定出...
【LeetCode刷题(数据结构与算法)】:有效的括号
首先这里需要用到栈的知识 力扣官方会有相关的栈的实现的接口函数 所以我们这里就直接拷贝一份我们栈的实现的代码 typedef int STDataType; typedef struct Stack{ STDataType* a; int top; int capacity;}ST; void STInit(ST* ps){ assert(ps); ps->a = NULL; ps->capacity = 0...
【LeetCode刷题(数据结构)】:另一颗树的子树
给你两棵二叉树 root 和 subRoot 检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树 输入:root = [3,4,5,1,2], subRoot = [4,1,2] 输出:true 输入:root = [3,4,...
【LeetCode刷题(数据结构)】:给定一个链表 每个节点包含一个额外增加的随机指针 该指针可以指向链表中的任何节点或空节点 要求返回这个链表的深度拷贝
给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 例如,如果原...
【LeetCode刷题(数据结构与算法)】:平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 输入:root = [3,9,20,null,null,15,7] 输出:true 输入:root = [1,2,2,3,3,null,null,4,4] 输出:false 示例 3: 输入:root = [] 输出:true 这道题中的平衡二叉树的定义是:二叉树的每个节点...
【LeetCode刷题(数据结构)】:检查两颗树是否相同
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的 输入:p = [1,2,3], q = [1,2,3] 输出:true 输入:p = [1,2], q = [1,null,2] 输出:false 输入:p = [1,2,1], q = [1,1,2] 输出:false 前言 两个二叉树相同,当且仅当两个二叉树的结构完全相同,...
【LeetCode刷题(数据结构)】:二叉树的前序遍历
给你二叉树的根节点root 返回它节点值的前序遍历 示例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,2] 输出:[1,2] 方法:递归 思路与算法 首先我们需要了解什么是二叉...
看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题142环形链表II) 2023.4.24
目录 前言算法题(LeetCode刷题142环形链表II)—(保姆级别讲解)分析题目:算法思想环形链表II代码:补充 结束语 前言 本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删除即可,撰写本文章主要目的在于记录自己学习体会并分享给大家,全篇并不仅仅是复制粘贴,更多的是加入了自己的思考,希望读完此篇文章能真正帮助到您!!! 算法题(LeetCode刷题142环形链表II)—(保姆级别讲解) 力扣题...
看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题203.707.206翻转链表) 2023.4.21
目录 前言算法题(LeetCode刷题203移除链表元素)—(保姆级别讲解)算法题(LeetCode刷题707.设计链表)—(保姆级别讲解)代码参考: 算法题(LeetCode刷题206.反转链表)—(保姆级别讲解)算法思想(重要):双指针法代码:递归法(从前往后翻转指针)代码:递归法(从后往前翻转指针)代码: 结束语 前言 本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删除即可,撰写本文章主要目的...