面试笔试题目
文章平均质量分 68
supermuscleman
这个作者很懒,什么都没留下…
展开
-
466. 链表节点计数 (count-linked-list-nodes)(c++)----lintcode面试题之链表
(一)题目要求:计算链表中有多少个节点.(二)示例:给出 1->3->5, 返回 3.(三)题解:/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this-&g...原创 2018-02-15 20:47:56 · 865 阅读 · 0 评论 -
165. 合并两个排序链表(merge-two-sorted-lists)(c++)----lintcode面试题之链表
(一)题目要求:将两个排序链表合并为一个新的排序链表(二)示例:给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null(三)题解:方法一:/** * Definition of ListNode * class ListNode { * public: ...原创 2018-02-21 19:56:02 · 236 阅读 · 0 评论 -
173. 链表插入排序 (insertion-sort-list)(c++)----lintcode面试题之链表
(一)题目要求:用插入排序对链表排序(二)示例:Given 1->3->2->0->null, return 0->1->2->3->null(三)题解:(1)插入排序简介:插入排序的核心思想就是把待排序的序列分为两部分(已排序,未排序):(a)最开始已排序部分只有一个元素,当然是有序的;(b)向后扫描未排序部分的第一个元素,将其插入到已排序部分的合...原创 2018-02-18 23:00:36 · 2447 阅读 · 0 评论 -
372. 在O(1)时间复杂度删除链表节点 (delete-node-in-the-middle-of-singly-linked-list)(c++)----lintcode面试题之链表
(一)题目要求:给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。(二)示例:Linked list is 1->2->3->4, and given node 3, delete the node in place 1->2->4(三)题解:注意分析题目,没有给出链表头结点head,故无法知道删除结点的前一个结点,只能采...原创 2018-02-18 20:15:17 · 202 阅读 · 0 评论 -
451. 两两交换链表中的节点(swap-nodes-in-pairs)(c++)----lintcode面试题之链表
(一)题目要求:给一个链表,两两交换其中的节点,然后返回交换后的链表。(二)示例:给出 1->2->3->4, 你应该返回的链表是 2->1->4->3。你的算法只能使用常数的额外空间,并且不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。(三)题解:方法一:/** * Definition for singly-linked list. * st...原创 2018-02-18 19:10:21 · 565 阅读 · 0 评论 -
112. 删除排序链表中的重复元素(remove-duplicates-from-sorted-list)(c++)----lintcode面试题之链表
(一)题目要求:给定一个排序链表,删除所有重复的元素每个元素只留下一个。(二)示例:给出 1->1->2->null,返回 1->2->null给出 1->1->2->3->3->null,返回 1->2->3->null(三)题解:注意分析题设,给定的是已排序好的链表,复杂度降低;否则是否考虑用map??方法一:** ...原创 2018-02-16 22:18:39 · 274 阅读 · 0 评论 -
166. 链表倒数第n个节点(nth-to-last-node-in-list)(c++)----lintcode面试题之链表
(一)题目要求:找到单链表倒数第n个节点,保证链表中节点的最少数量为n。(二)示例:给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.(三)题解:方法一:/** * Definition of ListNode * class ListNode { * public: * int val; * ListNode *n...原创 2018-02-16 21:46:06 · 169 阅读 · 0 评论 -
35. 翻转链表(reverse-linked-list)(c++)----lintcode面试题之链表
(一)题目要求:翻转一个链表(二)示例:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null(三)题解:方法一:/** * Definition of ListNode * * class ListNode { * public: * int val; * ListNode *next; * *...原创 2018-02-16 21:14:14 · 489 阅读 · 0 评论 -
96. 链表划分(partition-list)(c++)----lintcode面试题之链表
(一)题目要求:给定一个单链表和数值x,划分链表使得所有小于x的节点排在大于等于x的节点之前。你应该保留两部分内链表节点原有的相对顺序。(二)示例:给定链表 1->4->3->2->5->2->null,并且 x=3返回 1->2->2->4->3->5->null(三)题解:方法一:/** * Definition of ...原创 2018-02-16 19:29:36 · 694 阅读 · 0 评论 -
174. 删除链表中倒数第n个节点 (remove-nth-node-from-end-of-list)(c++)----lintcode面试题之链表
(一)题目要求:给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。(二)示例:给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.(三)题解:方法一:/** * Definition of ListNode * class ListNode { * ...原创 2018-02-16 01:19:46 · 158 阅读 · 0 评论 -
452. 删除链表中的元素 (remove-linked-list-elements)(c++)----lintcode面试题之链表
(一)题目要求:删除链表中等于给定值val的所有节点.(二)示例:给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。(三)题解:方法一:/** * Definition for singly-linked list. * struct ListNode { * ...原创 2018-02-16 00:48:58 · 204 阅读 · 0 评论 -
167. 链表求和(add-two-numbers)(c++)----lintcode面试题之链表
(一)题目要求:你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。(二)示例:给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null(三)题解:方法一:/** * Definit...原创 2018-02-22 14:00:10 · 358 阅读 · 0 评论