![](https://img-blog.csdnimg.cn/20190902164401893.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
lzw2019sun
这个作者很懒,什么都没留下…
展开
-
2021-05-15
算法题注意: 通过相除,结果为double类型的0时,有正负。如:0/(23) = 0.0 而 0/(-23)= -0.0原创 2021-05-15 20:10:12 · 129 阅读 · 0 评论 -
7.10题目总结
目录 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 用两个栈实现一个队列的pop和push功能 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的...原创 2019-07-10 10:37:22 · 114 阅读 · 0 评论 -
7.12题目总结
目录 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 快排算法实现:注:顺序很重要,必须从右开始走;因为走到左右的碰头处,位置的元素与首元素(选取的基准元素)交换 输入两棵二叉树A,B,判断B是不是A的子结构...原创 2019-07-13 23:25:58 · 117 阅读 · 0 评论 -
7.13题目总结
目录 操作给定的二叉树,将其变换为源二叉树的镜像。 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min...原创 2019-07-14 20:46:25 · 107 阅读 · 0 评论 -
排序算法思想及实现(选择、冒泡、插入、归并、快排)
排序算法总结:https://www.cnblogs.com/guoyaohua/p/8600214.html 目录 冒泡排序 选择排序 插入排序 归并排序 快排 冒泡排序 比较相邻元素,大的向后(与小的交换位置);每次都是从头开始依次比较找到最大的元素 每找到依次最大的元素,就确定了数组右边的一个元素 右边元素有序,且为全局最大的;(在无序中前后交换移动) //冒...原创 2019-07-15 09:22:17 · 219 阅读 · 0 评论 -
算法题解与总结(一)
剑指offer 二叉树的遍历 先序遍历(非递归版使用栈来实现):1、申请一个栈,将头结点压入栈中 cur = head;2、从栈中弹出栈顶元素cur并打印,再将cur的右子节点(不为空的话)压入栈中,最后将cur的左孩子节点(不为空的话)压入栈中;3、重复2步骤,直到stack为空。 中序遍历(非递归版使用栈来实现):1、申请一个栈,将头结点压入栈中,cur = head;2、依次将左边界压...原创 2019-07-06 10:26:31 · 173 阅读 · 0 评论 -
7.15题目总结
1、输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 2、输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)原创 2019-07-16 10:51:19 · 152 阅读 · 0 评论 -
7.11题目总结
目录 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 输入一个链表,反转链表后,输出新链表的表头。 输入一个链表,输出该链表中倒数第k个结点 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 给定一个double类型的浮点数...原创 2019-07-12 11:00:26 · 101 阅读 · 0 评论 -
最大子数组、输入总结、第K大的数、字典序全排列
最大子数组 arr没有正数:就是数组中的最大元素 arr中有正数:从左到右遍历arr,变量cur记录每一步的累加和,遇到正数增加,遇到负数,将cur减少; 当cur<0,说明此部分不能作为子数组的左边部分,令cur = 0,从下一个重新开始; 当cur>0,用额外变量记录值max,即用max全程跟踪cur出现的最大值即可 public static int maxSu...原创 2019-08-03 11:31:07 · 600 阅读 · 0 评论