随笔分类 -  剑指Offer

摘要:题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 非递归版本: 1.新建一个头结点mergeHead,和尾节点 current. 2.比较两个链表的头节点,确定mergeHead, 将current指向mergeHead. 3.依次比较两个链表节 阅读全文
posted @ 2019-11-21 08:35 漫天飘雪 阅读(169) 评论(0) 推荐(0)
摘要:输入一个链表,反转链表后,输出新链表的表头。 我好菜啊。。。。 努力! /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution 阅读全文
posted @ 2019-11-19 21:32 漫天飘雪 阅读(117) 评论(0) 推荐(0)
摘要:思路1: 先遍历链表一次,统计出链表节点个数n, 然后,倒数第k个节点是,n-k+1。 缺点:该方法需要遍历两次列表。 思路2: 定义两个指针,第一个指针向前遍历k-1步,第二个指针保持不动; 从第k步开始,第二个指针从链表头指针开始遍历,当第一个指针到底链表的尾端,第二个指针正好指向倒数第k个节点 阅读全文
posted @ 2019-11-19 19:58 漫天飘雪 阅读(283) 评论(0) 推荐(0)
摘要:本题目考察大数。 #include <iostream> #include <stdio.h> using namespace std; bool Increment(char * number) { bool isOverflow = false; int nTakeOver = 0; int n 阅读全文
posted @ 2019-11-16 21:59 漫天飘雪 阅读(193) 评论(0) 推荐(0)