数据结构和算法
文章平均质量分 80
gaohuiguang
这个作者很懒,什么都没留下…
展开
-
反转链表
反转链表问题描述: 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。链表节点定义:struct ListNode{ int m_nKey; ListNode* m_pNext ;}思路一:可以遍历一遍链表,用一个栈保存链表的结点的数值,然后再遍历链表,同时设置各个结点的值。 代码如下:#include<stack>ListNode* ReverseL原创 2015-06-10 16:04:58 · 667 阅读 · 1 评论 -
Java HashTable的Cloneable实现
Java HashTable的Cloneable实现我们都知道Cloneable是一个接口,实现这个接口,就可以创建一个对象的拷贝,但必须实现public A clone的方法。Object 终极父类中含有一个protected clone()的本地方法。在派生类的clone()方法中,可以调用super.clone()。因为在运行时刻,Object类中的clone()识别出你要复制的是哪一个原创 2015-06-09 11:40:35 · 846 阅读 · 0 评论 -
合并两个排序的链表
合并两个排序的链表问题描述: 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。 链表结点定义:struct ListNode{ int m_value ; ListNode* m_pNext;}代码:ListNode* Merge(ListNode* pHead1 ,ListNode* pHead2){ if(NULL == pHead原创 2015-06-10 10:30:56 · 357 阅读 · 0 评论 -
在O(1)时间删除链表结点
在O(1)时间删除链表结点问题描述: 给定单向链表的头指针和一个结点指针;定义一个函数在O(1)时间删除链表结点。链表结点与函数的定义如下:struct ListNode{ int m_value ; ListNode* m_pNext;}void DeleteNode(ListNode** pListHead ,ListNode* pToBeDeleted);思路: 在单向原创 2015-06-10 20:27:06 · 374 阅读 · 0 评论