
算法题
Matana111
这个作者很懒,什么都没留下…
展开
-
[剑指 Offer] 27 二叉树的镜像
题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / \ 2 7 / \ / \ 1 3 6 9 镜像输出: 4 / \ 7 2 / \ / \ 9 6 31 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 看题后思路: 交换每一个有孩子节点的左右子树 ...原创 2020-08-04 15:04:45 · 133 阅读 · 0 评论 -
[剑指 Offer ]25 合并两个排序的链表
看完题思路: 两个指针指向两个链表头结点,比较指针所指结点大小。再定义一个头结点,如果指针指向的值小,那就头结点指向这个指针,指针向后移一步后,断开指针。原创 2020-07-21 00:03:41 · 145 阅读 · 0 评论 -
[剑指offer] 24. 反转链表
看完题想法: 把链表中的每个节点拿出来,放到栈中。 再新建一个链表,把栈中每一个值拿出来放到链表中。 解题代码: 注:在代码中没有新建链表,而是直接改变原来链表中节点的值。 反转链表几个经典解法不是建栈,而是双指针和递归。明天再来研究。 ...原创 2020-07-07 00:08:15 · 206 阅读 · 0 评论 -
[剑指offer]22. 链表中倒数第k个节点
看题后的思路: 这题考研的时候背过,设置两个指针,一个快,一个慢。一开始快的比慢的先走k步,然后一起一步一步走,快的走到链表最后一个节点,慢的指针指向就是倒数第k个。 哇没看题解自己做出来的耶,开心o(* ̄▽ ̄*)ブ~ ...原创 2020-07-06 01:27:24 · 167 阅读 · 0 评论 -
[剑指offer]21. 调整数组顺序使奇数位于偶数前面
看完题的思路: 定义变量i,循环i<nums.size,然后就不会了。。。 看题解: 是定义双指针,这种考研的时候好像也用过这种思路。。 思路:(Krahets发布于leetcode) 考虑定义双指针 i, j 分列数组左右两端,循环执行: 指针 i从左向右寻找偶数; 指针 j 从右向左寻找奇数; 将 偶数 nums[i]nums[i] 和 奇数 nums[j]nums[j] 交换。 可始终保证: 指针 i左边都是奇数,指针 j右边都是偶数 初始化: i, j 双指针,分别指向...原创 2020-07-04 23:56:52 · 197 阅读 · 0 评论 -
[剑指offer]18. 删除链表的节点
之前写了几道题都自己截图写到pad里了,现在感觉还是这么写方便一些。 看完题思路: 定义一个指针,定义while函数,判断指针指向不为空的条件下,一直向下指。判断指针的值等于节点值,指针p->next=p->next->next。然后跳出循环。 感觉是考研的算法题(lll¬ω¬)。 看了标准答案 自己缺少了几种考虑,如果head值是要删除的值,那么p->next=p->next->next是删除下一个节点,是不对的。 代码如下: 如果当前节点的.原创 2020-07-03 23:46:37 · 426 阅读 · 1 评论 -
搬运办公桌问题
搬运办公桌问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 1 解决: 1 [提交][状态][讨论版][命题人:liyuansong] 题目描述 著名的ACM(Advanced Computer Maker)公司租用了一层有400个房间的办公室,结构如表1所示。 表1 ACM公司办公楼室示意图 房间1...原创 2018-12-05 17:04:09 · 572 阅读 · 0 评论 -
重数问题
描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。 现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。 输入 第一行为n,表示测试数据组数。(n<30) 每组测试的第一行是一个整数m,表示多重集...转载 2018-12-05 17:09:08 · 838 阅读 · 0 评论