
每日一题
优秀005
这个作者很懒,什么都没留下…
展开
-
合并两个有序链表
1.合并两个有序链表,合并以后的链表依旧有序。合并两个有序链表,可以分为以下几种情况:a)当要合并的两条链表都为空,返回空;b)当一个链表为空;此时我们直接返回好另一条链表即可;c)都不为空,两个链表进行合并;在此中由于我们不知道链表1和链表2应该以谁为头,因此.我们自己定义新链表的头;然后注意进行比较,逐次向表头链接;当其中一个链接完成后,由于其有序,直接将后一个没有连完挂在后面即可.下面为代码:原创 2017-07-13 21:12:38 · 699 阅读 · 0 评论 -
逆置单链表/求倒数第k个结点
定义并创建链表: #include using namespace std; #include typedef struct ListNode { int _data; struct ListNode* _next; ListNode(int data) :_data(data) ,_next(NULL) {} }ListNode; void Push(ListNode原创 2017-07-15 08:51:17 · 502 阅读 · 0 评论 -
链表的带环问题
判断链表是否带环?用快慢指针法:若带环必然相遇bool IsExitLoop(ListNode* list) { ListNode* fast = list; ListNode* slow = list; while (fast && fast->_next) { fast = fast->_next->_next; slow = sl原创 2017-07-15 12:37:56 · 423 阅读 · 0 评论 -
【剑指offer】替换空格问题
题目:实现一个函数,把字符串中每个空格都替换成%20,例如输入“we are happy!!!”,输出“we%20are%20happy!!!”思路:1、若内存够多,可另开辟一足够大字符串,在新字符串上做替换,实现思路简单。2、在原来字符串上修改,并保证后面有足够空间。代码:void ReplaceBlank(char* str,int strsize) { if (str == NULL原创 2017-08-28 18:35:46 · 494 阅读 · 0 评论