要求: 算法中使用的内存数量是一个常数, 即不能因为链表长度的增减使用的内存也增减. 下面是本人的一个实现: struct list{ int data; struct list *next; }; int has_circle(struct list *head) { struct list *cur1 = head; int pos1 = 0; while(cur1){ struct list *cur2 = head; int pos2 = 0; pos1 ++; while(cur2){ pos2 ++; if(cur2 == cur1){ if(pos1 == pos2) break; else return 1; //has circle } ...
by cu_pang - C/C++ - 2010-08-01 01:40:28 阅读(33270) 回复(70)
刚才去google搜索'eclipse' 错写成了'sclipse' google会问我是不是要找'eclipse' 我想google那边一定有个常用搜索词的列表吧 肯定有这个判断字符串相似的功能 不然google不该提醒我啊 那么又是怎样判断两个词是否相似的呢?
公司现在有两个网段: 1. adsl 直接上网(172.16.0.0) 2. 走专线去教育网(59.64.115.0) 现在让172.16段的可以去访问59段的服务器,更新软件,而59段不能访问172.16段的, 有什么好的办法呢?
公司现在有两个网段:\r\n 1. adsl 直接上网(172.16.0.0)\r\n 2. 走专线去教育网(59.64.115.0)\r\n 现在让172.16段的可以去访问59段的服务器,更新软件,而59段不能访问172.16段的,\r\n 有什么好的办法呢?
题目:两个单向链表,找出它们的第一个公共结点。 链表的结点定义为: struct ListNode { int m_nKey; ListNode* m_pNext; }; 分析:这是一道微软的面试题。微软非常喜欢与链表相关的题目,因此在微软的面试题中,链表出现的概率相当高。 如果两个单向链表有公共的结点,也就是说两个链表从某一结点开始,它们的m_pNext都指向同一个结点。但由于是单向链表的结点,每个结点只有一个m_pNext,因此从第一个公共...