链表
山大_辰奕
这个作者很懒,什么都没留下…
展开
-
为面试准备,每天刷题@leetcode_445.两数相加
给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。(你可以假设除了数字 0 之外,这两个数字都不会以零开头) Example: 输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 8 -> 0 -> 7 结题思路:把两个链表当做两个栈,应用链表头插法 class Solution { public: ListNode *addTwoNum原创 2020-05-21 17:41:06 · 129 阅读 · 0 评论 -
为面试准备,每天刷题@leetcode_面试题 02.02. 返回倒数第 k 个节点
实现一种算法,找出单向链表中倒数第k个节点,并返回该节点的值 Example: 输入:1->2->3->4->5 and k=2 输出:4 class Solution { public: int kthTolast(ListNode *head, int k) { ListNode *slow=head,*fast=head; for(int i=0;i<k;i++) { fast=fast->next; } while(fast!=NULL)原创 2020-05-19 16:13:21 · 141 阅读 · 0 评论 -
为面试准备,每天刷题@leetcode_328-奇偶链表:
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起(这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性) Example: 输入:2->1->3->6->5->7->4->null 输出:2->3->5->4->1->6->7->null class Solution { public: ListNode *oddEvenList(ListNode * head) { if(head==原创 2020-05-13 17:13:40 · 186 阅读 · 0 评论 -
为面试准备,每天刷题@leetcode_237-删除链表中的节点:
leetcode_237-删除链表中的节点: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 输入: head = [2,8,4,5,1,9], node = 5 输出: [2,8,4,1,9] 解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 2->8->4 -> 1 -> 9. class Solution { public: void deleteNode(ListNode* node) {原创 2020-05-13 15:51:11 · 101 阅读 · 0 评论