数据结构
数据结构
du1232
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指 Offer 32 - III. 从上到下打印二叉树 III
题目请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]]思路:1栈1队列,k是每一层的标识数在奇数层,进行正常的层序遍历进入队列的同时,并入栈 。如:队列[1,2] 栈原创 2021-06-21 11:25:59 · 183 阅读 · 0 评论 -
剑指offer--链表中倒数第k个节点
题目描述输入一个链表,输出该链表中倒数第k个结点。示例1输入1,{1,2,3,4,5}返回值{5}思路:运用快慢指针的思想,快指针先于慢指针k个节点,遍历链表,当快指针为NULL;慢指针指向第(n-k)个节点即倒数第k个节点。如下图所示:代码实现如下:struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) { struct ListNode* prev = pListHead; struct原创 2020-12-18 18:04:32 · 115 阅读 · 2 评论 -
leetcode 203 --移除链表元素--C实现
题目说明: 删除链表中等于给定值 val 的所有节点示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5首先我们需要清除链表的概念(链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。)其结构图如下:思路:运用双指针解法,如下图所示,定义prev = NULL;cur= head;根据cur->val是否等于给定val进行判原创 2020-12-18 10:48:17 · 164 阅读 · 0 评论 -
leetcode--数组形式的整数加法 ---C实现
题目描述:对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-to-array-form-of-integer示例输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234思路原创 2020-12-16 15:23:41 · 163 阅读 · 1 评论
分享