07 2018 档案
摘要:题目描述: 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello” 解题思路: 假设这条句子有n个单词:句子反转实质,将第1个元素与最后1个元素交换,第2个
阅读全文
摘要:题目描述: 设有n个正整数,将他们连接成一排,组成一个最大的多位整数。 如:n=3时,3个整数13,312,343,连成的最大整数为34331213。 如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。 题目分析: 首先,我们将输入的数字转成字符串存入数组,方便下一步对字符
阅读全文
摘要:题目描述: 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。 题目分析: 将链表分割为两部分,以x值为分割线(x不一定存在于链表中):前
阅读全文
摘要:题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路: 1、一般看到合并这类的题目就会很自然的想到创建一个新的链表,然后将两个链表根据一定的规则加入到新链表中。所以这里提出第一个比较容易理解的思路: 首先,创建一个新链表。然后,同时遍历两
阅读全文
摘要:题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 数据结构: public class RandomListNode {
阅读全文
摘要:题目描述: 输入两个链表,找出它们的第一个公共结点。 题目分析: 只是数据域相同不是公共节点。公共结点代表该节点在两个链表中的数据域和指针域都是相同的,这意味着从该公共节点开始,后面的结点都是两个链表共有的,如图: 解题思路: 思路1: 从正序比较的角度来考虑:观察上图,链表1长度大于链表2,那么公
阅读全文
摘要:题目描述: 输入一个单向链表,输出该链表中倒数第k个结点 输入、输出描述: 输入说明:1、链表结点个数 2、链表结点的值3、输入k的值 输出说明:第k个结点指针 题目分析: 假设链表长度为n,倒数第k个结点=正序第n-k+1个结点,所以题目的实质可以看作是链表的遍历。 首先输入链表结点个数n与各个结
阅读全文
摘要:题目描述: 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 题目分析: 首先了解一下回文序列:如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序
阅读全文
摘要:题目描述: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 题目分析: 从上图中可以看出,环的入口结点和其他结点的区别:环的入口结点是有两个指针指向的,其他结点除了头结点都是只有一个指针指向的, 使用断链法,在当前结点访问完毕后,断掉指向当前结点的指针。因此,最后一个被访
阅读全文
摘要:题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 解题思路: 首先初始化一个起始指针preNode指向头结点、工作指针walkNode指向链表的第一个元素,即pre
阅读全文
摘要:一、ArrayList与LinkedList 基本概念:List是一个接口,Arraylist和LinkedList是它的两个实现类,只是实现的方式不一样。我在“单链表java实现”一文中已经对单链表的结构和基本方法进行了实现,这里要说的LinkedList是java封装好的双向链表数据结构,而Ar
阅读全文
摘要:一、单链表基本概念 单链表是一种链式存取的数据结构,用一组地址任意的存储单元(一般是非连续存储单元)存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素data + 指针next(指示后继元素存储位置)。其存储结构如图: 二、JAVA实现单链表 数据结构: 单链表有一个属性he
阅读全文
摘要:题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 解题思路 思路1: 顺序遍历链表,取出每个结点的数据,插入list中。 由于要求list倒序存储链表中的数据,而我们是顺序取数据,所以采用了‘头插’的方式,每次将顺序取出的数据存在list表头,即add(0,data)。 思
阅读全文
摘要:题目描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入参数:target(查找值) array(二维数组) 解题思路: 1、python代码 p
阅读全文

浙公网安备 33010602011771号