摘要: 题目:输入两个链表,找出它们的第一个公共结点。思路:由链表的定义知是单链表。对于单链表,如果两个链表有公共结点,则两个链表必然是像Y型相交。则先计算出各个链表的长度,让长链表的头指针先走多出来的几步,再同时让两个链表的指针移动,则判断两个指针是否相等即可。代码:/*struct ListNode {... 阅读全文
posted @ 2015-08-13 17:13 不系之舟530 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路:归并排序的合并过程。主要是考虑合并两个有序序列时,计算逆序对数。对于两个升序序列,设置两个下标:两个有序序列的末尾。每次比较两个末尾值,如果前末尾大于后末尾值,则有... 阅读全文
posted @ 2015-08-13 16:56 不系之舟530 阅读(2504) 评论(0) 推荐(0) 编辑
摘要: 题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。(书上是要求返回字符)思路:第一遍扫描保存下每个字符出现的次数,第二遍扫描顺序检查哪个字符出现的次数为1.没有找到合适的返回-1.由于字符的8位的数据类型,共有256种,所以保... 阅读全文
posted @ 2015-08-13 15:25 不系之舟530 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题目:把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路:第一个丑数是1,此后保存3个下标:乘以2的数位置、乘以3的数位置、乘以5的数位置。每次比较由2、3、5衍生出来... 阅读全文
posted @ 2015-08-13 15:15 不系之舟530 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目: 阅读全文
posted @ 2015-08-13 15:10 不系之舟530 阅读(100) 评论(0) 推荐(0) 编辑