上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 98 下一页
摘要: 2.7 编写一个函数,检查链表是否为回文。思路:1)可以利用链表中的元素采用头插法创建一个新的链表,然后比较两个链表的元素是否相等。 2)利用快慢指针,将链表后半部分逆转之后,比较前半部分与后半部分是否相等。 3)利用栈将链表中的元素保存,然后弹出与链表中元素比较。C++实现代码:#inc... 阅读全文
posted @ 2014-12-04 08:45 Jessica程序猿 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 2.6 给定一个有环链表,实现一个算法返回环路的开头结点。类似leetcode中Linked List Cycle IIC++实现代码:#include#includeusing namespace std;struct ListNode{ int val; ListNode *next... 阅读全文
posted @ 2014-12-03 23:14 Jessica程序猿 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 2.5 给定两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入: (7->1->6)+(5->9->2),即617+295.输出:2->1->9,即912.进阶:假设这些数位是正向存放的示例:输入:(6... 阅读全文
posted @ 2014-12-03 22:52 Jessica程序猿 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 2.4 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前。思路:将小于的结点还是保存在原来的链表中,将大于等于x的结点加入一个新的链表,最后将这两个链表链接起来。C++实现代码:#include#includeusing namespace std;struc... 阅读全文
posted @ 2014-12-03 22:06 Jessica程序猿 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 2.3 实现一个算法,删除单向链表中间的某个结点,假设你只能访问该结点。(即你不知道头结点)这个问题的关键是你只有一个指向要删除结点的指针,如果直接删除它,这条链表就断了。 但你又没办法得到该结点之前结点的指针,是的,它连头结点也不提供。在这种情况下, 你只能另觅他径。重新审视一下这个问题,我们只能... 阅读全文
posted @ 2014-12-03 21:14 Jessica程序猿 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 2.2 实现一个算法,找到单链表中倒数第k个节点。这道题的考点在于我们怎么在一个单链表中找到倒数第n个元素? 由于是单链表,所以我们没办法从最后一个元素数起,然后数n个得到答案。 但这种最直观的思路显然是没错的,那我们有没有办法通过别的方式,从最后的元素数起数 n个来得到我们想要的答案呢。这个次序颠... 阅读全文
posted @ 2014-12-03 20:59 Jessica程序猿 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 2.1 编写代码,移除未排序链表中的重复节点。不使用临时缓存:如果不允许使用临时的缓存(即不能使用额外的存储空间),那需要两个指针, 当第一个指针指向某个元素时,第二个指针把该元素后面与它相同的元素删除, 时间复杂度O(n2)。C++实现代码:#include#includeusing namesp... 阅读全文
posted @ 2014-12-03 20:32 Jessica程序猿 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1.8 假定有一个方法isSubstring,可检查一个单词是否为其他字符串的子串。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次isSubstring。旋转字符串:”waterbottle”是”erbottlewat”的旋转字符串。解答题目说我们使用一次isSub... 阅读全文
posted @ 2014-12-03 19:28 Jessica程序猿 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 1.7 编写一个算法,若M*N矩阵中某个元素为0,则将其所在的行与列清零。类似于leetcode中的Set Matrix ZeroesC++实现代码:#include#includeusing namespace std;void setMatricZero(vector > &matrix){ ... 阅读全文
posted @ 2014-12-03 18:42 Jessica程序猿 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1.6 给定一幅由N*N矩阵表示的如下,其中每个像素的大小为4个字节,编写一个方法,将图像旋转90度。不占用额外内存空间能否做到?类似leetcode:Rotate Image思路: 我们这里以逆时针旋转为例(写代码时比较容易理解,顺时针旋转的实现思想相似),可以先将原矩阵以主对角线为对称轴,交换... 阅读全文
posted @ 2014-12-03 18:02 Jessica程序猿 阅读(126) 评论(0) 推荐(0) 编辑
上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 98 下一页