摘要: 题目:输入两个递增的排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增顺序的。链表的结构如下: struct ListNode{ int m_nValue; ListNode* m_pNext; } 阅读全文
posted @ 2016-08-17 21:27 没长大的书生 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点,链表节点定义如下: 解析:注意的问题1、输入链表的头指针为NULL或者整个链表只有一个节点时,程序会崩溃;2、输入的链表只有一个节点;3、反转后链表出现断裂;4、对链表指针的操作顺序 阅读全文
posted @ 2016-08-17 17:33 没长大的书生 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如一个链表有6个节点,从头节点开始它们的值一次是1,2,3,4,5,6。这个链表的倒数第三个节点是值为4的节点。 链表节点定义如下: struct ListNode{ int 阅读全文
posted @ 2016-08-17 16:41 没长大的书生 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 方法一:可以用两个指针,分别指向数组的前后(下面称两个指针为头指针和尾指针),头指针向下遍历,遇到偶数时停下,尾指针从尾向前遍历,直到遇到一个奇数,交换当前头尾指针所指的值,之 阅读全文
posted @ 2016-08-17 15:51 没长大的书生 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1),时间删除该节点。链表节点与函数的定义如下: struct ListNode{ int m_nValue; ListNode* m_pNext; } void DeleteNode(ListNode** pListHead,ListNo 阅读全文
posted @ 2016-08-17 15:16 没长大的书生 阅读(195) 评论(0) 推荐(0) 编辑