文章 2024-03-05 来自:开发者社区

数据结构:力扣OJ题

题一:链表分割 现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。 思路一: 1.分别创建一个记录小于x的“小”结构体,和记录大于等于x的“大”结构体, 2.然后malloc函数动态开辟一个结构体大小的空间,这时head和tail都指向同一位置,将...

数据结构:力扣OJ题
文章 2024-03-05 来自:开发者社区

数据结构:力扣刷题3

目录 题一:反转链表 思路一: 思路二: 题二:移除链表元素 思路一: 思路二: 题三:链表的中间节点 思路一: 题四:链表中倒数第k个结点 思路一: 题五:合并两个有序链表 思路一: 简化后: 本人实力有限可能对一些地方解释的不够清晰,可以自己尝试读代码,望海涵! ...

数据结构:力扣刷题3
文章 2024-03-05 来自:开发者社区

数据结构:力扣刷题2

题一:删除有序数组中的重复项   给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数组 nums ,使 n...

数据结构:力扣刷题2
文章 2024-03-05 来自:开发者社区

数据结构:力扣刷题1

题一:旋转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 思路一: 创建reverse()函数传入三个值分别为数组地址,从第几个数组元素开始,结束元素位置; 在reverse()函数中实现颠倒,swap()函数实现交换。 先将数组分为两部分0--(k-1)和k--(sz-1),然后分别旋转;...

数据结构:力扣刷题1
文章 2024-01-12 来自:开发者社区

golang力扣leetcode 432.全O(1)的数据结构

432.全O(1)的数据结构432.全O(1)的数据结构题解双向链表+哈希表(哈希表nodes 维护每个字符串当前所处的链表节点)代码package main import "container/list" type node struct { keys map[string]struct{} count int } type AllOne struct { *list.List ...

golang力扣leetcode 432.全O(1)的数据结构
文章 2023-11-16 来自:开发者社区

数据结构-栈和队列力扣题

有效的括号题目链接:力扣(LeetCode)思路:这道题可以用栈来解决,先让字符串中的左括号' ( ',' [ ',' { '入栈,s指向字符串下一个字符,如果该字符也是左括号,那就继续入栈,如果是右括号,那就让其与栈顶元素相匹配(每次都要弹出栈顶元素),匹配上了,继续循环,匹配不上就返回false,注意在每次返回false之前都要销毁栈。还要考虑极端情况,如果全是左括号,我们要在代码最后进行判....

数据结构-栈和队列力扣题
文章 2023-11-16 来自:开发者社区

数据结构-单链表-力扣题

移除链表元素题目链接:力扣(LeetCode)思路:和前面学的单链表的中间删除数据一样,使要被删除节点的前一个节点指向下要被删除节点的下一个节点,然后把要被删除的节点free掉。具体实现过程:先定义prev和cur,让cur指向头节点,遍历链表,如果cur->val!=val,让prev指向cur,cur指向cur的下一个节点,(prev始终在cur前面一个节点),当cur->val....

数据结构-单链表-力扣题
文章 2023-11-16 来自:开发者社区

数据结构-顺序表-力扣题练习

移除数组: 题目链接:力扣(LeetCode)原地移除数组中所有的元素val,要求时间复杂度为O(N),空间复杂度为O(1)。 这道题如果不考虑时间、空间复杂度,有三种解法:1.暴力求解法:直接将所有数组元素遍历一遍,一一与val的值相比较,如果相等,就用后面的数组元素挪动覆盖该元素。但是这种方法的时间复杂度:O(N^2),不符合题目要求。2. 空间换时间:开辟一个新的数组tmp,将原数组中数组....

数据结构-顺序表-力扣题练习
文章 2023-11-14 来自:开发者社区

【数据结构】第十二站:二叉树力扣题

一、单值二叉树题目链接:力扣对于这道题,我们可以采用遍历的一遍的方法。这样的话很简单。但是如果题目不要求遍历呢?我们就得需要采用分治的思想了,我们是这样做的,先让根和左子树和右子树的节点比较。如果不相同则返回false,如果相同,则让左子树和右子树分别与他们的左右子树进行比较即可/** * Definition for a binary tree node. * struct TreeNod...

文章 2023-11-14 来自:开发者社区

【数据结构】第七站:栈和队列力扣题

一、用队列实现栈题目链接:力扣对于这道题,我们想要使用两个队列去实现栈队列的性质是先进先出,而栈的性质是先进后出为了实现性质转换,我们需要有一个队列时刻保持空状态,当我们想要入栈的时候,我们在不是空的队列进行插入即可而想要实现出栈,假设又n+1个数据,先将前n个数据给倒入另一个空队列,最后出最后一个数据即可有了思路,但是这道题最难的地方就是栈的结构了。也就是创建栈的函数,根据题目的要求,我们是需....

【数据结构】第七站:栈和队列力扣题

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注