07 2018 档案

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