数据结构
Wow
许家森
Wow
展开
-
转载:二叉树的前中后和层序遍历详细图解(递归和非递归写法)
二叉树的前中后和层序遍历详细图解(递归和非递归写法) Monster_ii 2018-08-27 17:01:53 ...转载 2020-12-27 11:02:25 · 2029 阅读 · 0 评论 -
刷题记录-11/22--字符串
学习内容:字符串easy 1、字符串中空格的替换 一、给定一个无序链表升序排列 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路: 1.replace方法 2.正则表达式re.sub 3.in-place方法 (增加尾部字符串重新生成字符串) ...原创 2020-11-22 21:33:06 · 97 阅读 · 0 评论 -
刷题记录--11/22--列表
学习内容:列表easy 1、 二维数组的查找问题 一、给定一个无序链表升序排列 问题:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 1.暴力查找 2.二分法(左下或者右上) ...原创 2020-11-22 21:29:34 · 139 阅读 · 0 评论 -
刷题记录--11/21
学习内容: 今天还是两道easy的链表题目,我觉得链表是一种很神奇的数据结构,在逻辑上它在存储时记录了值和下一个节点,很想知道链表在计算机里是怎样实际存储的。 1、 给定一个无序链表升序排列 2、 判断一个链表是否是回文数 一、给定一个无序链表升序排列 问题:给定一个无序单链表,实现单链表的选择排序(按升序排序)。 简单分析一下:这道题的思路很直观,借助List可以很简单的实现,首先将链表的中的值添加到List,然后利用.sort()方法排列,在重新生成节点以及链表即可(其实这种方法好low);改变链原创 2020-11-21 20:47:14 · 128 阅读 · 0 评论 -
刷题记录--11/18
学习内容: 今天下雨了,下午在寝室偷懒了一个小时,博客总结有点想鸽了。今天做了四道链表,两道简单两道中等。稍微感觉找到了一些套路—合理地使用双指针 1、 给一个链表和一个数字n,输出链表的倒数第n个数 2、 删除链表中重复节点的多余节点 3、 删除链表中重复节点 4、寻找链表中环的入口 一、给一个链表和一个数字n,输出链表的倒数第n个数 问题:输入一个链表,输出该链表中倒数第k个结点 简单分析一下:这道题的思路很直观,其实就是把链表反序然后输出第nnn个节点;不考虑return的要求的话,我们也可以借原创 2020-11-18 21:12:05 · 64 阅读 · 0 评论 -
刷题--11/17
学习内容: 为了更有条理地学习,我对每个知识点进行巩固练习,今天做了三道简单的链表题目 1、 合并两个有序链表 2、 两个链表的公共点 3、 判断链表中是否有环 一、 合并两个有序链表 问题:将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的。 第一次没读懂题目,以为是将链表的同一个位置合并在一块不用排序,看了用例后就理解了。 分析过程: 合并两个链表的思路很直观,首先用一个新链表来作为两个链表合并后的容器,我们很自然地需要为新链表找一个链表头,因此选取两个headhead原创 2020-11-17 19:37:36 · 121 阅读 · 0 评论 -
刷题记录--11/16
学习内容: 每日三题 1、 旋转数组输出最小值 2、 斐波那契数列的第nnn项 3、 链表的反序 一、旋转数组的最小值 问题:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 这道题主要考察了我们对于二分查找知识点的掌握 作为一个小白,我最初的想法很简单:这就是一个简单的排序问题,直接用冒泡排序对数组进行排序,然后输出最小值即可。毫无疑问,O(n2)O(n^{2})O(n原创 2020-11-16 20:38:34 · 88 阅读 · 0 评论