![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
Valeni
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法】链表中倒数最后k个结点
简单题,随便记录一下输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。如果该链表长度小于k,请返回一个长度为 0 的链表。数据范围:0≤n≤10^5,0≤ai ≤10^90≤k≤10^9要求:空间复杂度 O(n),时间复杂度 O(n)进阶:空间复杂度 O(1),时间复杂度 O(n)......原创 2022-08-15 21:07:01 · 219 阅读 · 0 评论 -
【数据结构与算法】C++用IDE刷题的正确姿势
有时候为了方便自测,自用,想要把接口做一些小改变(涉及输入输出),亦或是想要方便归档整理,我们会自己使用IDE编写代码来刷题。一般一种类型的题目,比如链表,我们可以放在一个工程下面。但是刷的题多了,很容易就会混乱,这时候需要良好的代码结构来进行梳理。...原创 2022-08-14 21:36:14 · 768 阅读 · 0 评论 -
【数据结构与算法】----------链表内指定区间反转
链表内指定区间反转原创 2022-08-10 20:23:40 · 123 阅读 · 0 评论 -
【C艹日常】 C++ for循环中的局部变量地址
为了方便刷题,我想写一个根据vector自动按顺序生成链表的函数,在写的过程中发现了一个值得注意的地方。原创 2022-08-09 21:01:24 · 671 阅读 · 1 评论 -
归并排序
随手写了个归并排序的代码,不需要额外写merge函数def merge_sort(data): if len(data) > 1: result = list() left = merge_sort(data[:(len(data)//2)]) right = merge_sort(data[(len(data)//2):]) ...原创 2019-10-15 10:38:47 · 106 阅读 · 0 评论 -
【剑指offer】--------二叉搜索树与双向链表
注意返回值是链表最左边的元素,否则会报错题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解法1:用中序遍历来连接根据二叉搜索树的性质,它的中序遍历就是排序后的列表,因此可以先按中序遍历把所有元素放在一个list中,再连接成双向链表# -*- coding:utf-8 -*-# class TreeNod...原创 2019-10-07 22:36:12 · 118 阅读 · 0 评论 -
【剑指offer】--------整数中1出现的次数
第一次自己A出 leetcode 困难等级的题目开始逐渐掌握如何把一个复杂问题化简为多个简单问题题目描述求出1到13的整数中1出现的次数,并算出100到1300的整数中1出现的次数?为此他特别数了一下1到13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1...原创 2019-10-07 19:26:56 · 166 阅读 · 0 评论 -
【剑指offer】--------复杂链表的复制
这题稍稍费了点劲,注意理解对题意,并在最开始就要考虑特殊情况最该注意的地方是:复制链表,意思是新建一个链表类,再连接在一个,而不是简单的指向原链表的元素(听着很蠢,但很容易犯这种错)题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直...原创 2019-10-05 10:10:34 · 118 阅读 · 0 评论 -
【剑指offer】--------栈的压入、弹出序列(无需创建新栈的方法)
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 解法1:提炼判断逻辑看了解析,大部分人的想法是模拟入栈和出栈的过程,这需要一个...原创 2019-10-03 22:07:25 · 168 阅读 · 0 评论 -
【剑指offer】--------二叉树的镜像
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义: 解法1:逐层对调逐层将左右子树调转即可# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# s...原创 2019-09-30 22:18:01 · 119 阅读 · 0 评论 -
【剑指offer】--------反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。 解法1:三指针交换注意循环条件初始化过程中,可能出现的特殊情况,Python代码:# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass......原创 2019-09-29 22:03:00 · 112 阅读 · 0 评论