编程之美3.11扩展问题 简单并带有错误的环形单链表检测代码_671coder的博客-程序员宝宝

技术标签: 扩展  编程之美  单链表  面试笔试  

原题是这样,要求是,返回带有环形单链表的环的第一个节点。。在不改变程序框架的基础上改错。。

  1. LinkedList* IsCyclicLinkedList (LinkedList* pHead)  
  2. {  
  3.     LinkedList* pCur;  
  4.     LinkedList* pStart;  
  5.     while (pCur != NULL)  
  6.     {  
  7.         for ( ; ; )  
  8.         {  
  9.             if (pStart == pCur->next)  
  10.                 return pStart;  
  11.             pStart = pStart->next;  
  12.         }  
  13.         pCur = pCur->next;  
  14.     }  
  15.     return pStart;  
  16. }  

我上网找了各种博客看。。感觉没有一个是对的,于是我就自己写了一个时间复杂度非常高的。。。不过基本不改变原程序框架。。我加了一个快慢链表来避免死循环。。但是时间复杂度o(2*n^2)也就是0(n^2)。。惨不忍睹。。欢迎大牛指导。

 
LinkedList* IsExitLoop(LinkList *head)
{
    LinkedList *pCur;
	LinkedList * pStart = pHead;
	while(pStart != NULL)
	{
		pCur = pStart->pNext;
		pCurfast = pCur->pNext;
		int times = 0;
		for(;pCur!=NULL && times<2;)
		{
			if(pStart == pCur->pNext)
				return pStart;
			if(pCur == pCurfast)
				times ++;
			pCur = pCur->pNext;
			pCurfast = pCurfast->pNext->pNext;
		}
		pStart = pStart->pNext;
	}
	return pStart;
}



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liuqiyao_01/article/details/19610973

智能推荐

【面试必备】手把手教你写Java项目文档,实现原理分析_普通网友的博客-程序员宝宝_java项目文档

最近几天,有的人在偷偷地买蚂蚁的基金,有的人却偷偷的在蚂蚁面试。最近确实是面试的好时候。大家都奔着大厂去的,最近也分享了好多大厂的面经了,什么阿里、字节、京东、美团、百度、腾讯、滴滴、网易…已经数不清有多少了。(是我菜了)这里分享一下蚂蚁金服5面过程与面试总结蚂蚁金服关于spring部分面试问题:Spring bean的生命周期能不能结合源码回答一下这个问题Spring容器当中包含了哪些常用组件(至少说5个),作用是什么,场景是什么;Spring自动注入的原理是什么?能不能从源码来说.

Kubernetes 核心组件运行机制_hust骚年的博客-程序员宝宝

# k8s整体架构k8s架构图如下所示![架构图](/Users/manzhang/Documents/notes/img/k8s_architecture.png)k8s集群由Master节点和Node节点构成**Master节点上的组件为**:* etcd,存储整个集群的数据和状态信息* apiserver,提供了资源操作的唯一入口,并提供认证、授权、鉴权等访问控制功能* controller manager, 中央控制管理器,负责维护集群的状态,比如故障检测、自动扩展、滚动更新

Oracle怎么定义VARCHAR2()的长度_CodeStorys的博客-程序员宝宝_更改varchar2长度

从Oracle官方文档上看到,优化内存开销有这样的表述:机器翻译结果如下:翻译中文声明4000个或更多字符的VARCHAR2变量VARCHAR2当不确定表达式结果的大小时,可能需要分配大变量。您可以通过声明VARCHAR2较大的变量(例如32000)来节省内存,而不是仅仅通过指定256或1000来估计较高的变量。PL/ SQL的优化使其可以轻松避免溢出问题,并且仍然可以节省内存。指定VARCHAR2变量的大小超过4000个字符;PL / SQL等待直到您分配了变量,然后才根据需要分配尽可能多的存

Fresco使用详解_hongensq的博客-程序员宝宝

Fresco简单的使用—SimpleDraweeView百学须先立志—学前须知:在我们平时加载图片(不管是下载还是加载本地图片…..)的时候,我们经常会遇到这样一个需求,那就是当图片正在加载时应该呈现正在加载时的图像,当图片加载失败时应该呈现图片加载时的图像,当我们重新加载这张图片时,应该呈现重试时图像,直到这张图片加载完成。这些繁琐并且重复的如果得不到简化的话,那将是一个开发人员的噩梦,现在好了

STM32动态内存分配_IT_老杨的博客-程序员宝宝

原文:http://www.openedv.com/posts/list/17718.htm#ifndef __MALLOC_H#define __MALLOC_H#include "sys.h"////////////////////////////////////////////////////////////////////////////////// //本程序

s3c2440的FCLK、HCLK、PCLK_大雄不爱吃肉的博客-程序员宝宝

1、系统工作时钟频率在对系统时钟进行提速之前,让我们先来了解下S3C2440上的工作时钟频率,FCLK,HCLK,PCLK,其中FCLK主要为ARM920T内核提供工作频率,如图2-44所示:图2-44  ARM920T内核结构HCLK主要为S3C2440 AHB总线(Advanced High performance Bus)上挂接硬件提供工作频率,AHB总线

随便推点

MySQL 设置 sql_mode 报错, 需要增加 [mysqld]标记_luochengquan的博客-程序员宝宝

MySQL 设置 sql_mode 报错, 需要增加 [mysqld]标记error: Found option without preceding group in config file: /etc/my.cnf at line: 1 Fatal error in defaults handling. Program aborted!includedir /etc/mysql/conf.d/

服务化基石之远程通信系列三:I/O模型_拉丝的裤衩的博客-程序员宝宝

远程通信系列&amp;amp;nbsp; I/O模型I/O即输入/输出(Input/Output)。每个应用系统间都无法完全避免相互的依赖调用,称之为远程通信;每个应用系统自身也将或多或少的产生数据,称之为本地读写。I/O则是远程通信和本地读写的核心。虽然地位重要,但I/O的性能发展是明显落后于 CPU 的。对于高性能、高并发的应用系统来说,如何回避I/O瓶颈从而提升性能是至关重要的。阻塞与非阻塞一般来说,...

标日初上-第1課_方长存的博客-程序员宝宝

基本课文李さんは 中国人です。  りさんは ちゅうごくじんです。2.森さんは 学生では ありません。  もりさんは がくせいでは ありません。3.林さんは 日本人ですか。  はやしさんは にほんじんですか。4.李さんは JC企画の 社員です。  りさんは ジェーシーきかくの しゃいんです。A.甲:わたしは 李です。小野さん ですか。乙:はい,そうです。B.甲:森さんは 学生ですか。乙:いいえ,学

QXDM log存入SD卡并转换成isf格式的流程_s_super001的博客-程序员宝宝

QXDM log存入SD卡并转换成isf格式的流程转自:http://www.doc88.com/p-909285986079.html1, 对SD卡的操作手机连上电脑,运行# adb shell# mkdir /sdcard/ diag_logs 建立文件夹# return然后将DIAG.cfg push到该目录/sdcard/ diag_logs下:#adb push “相应的config文件...

100种木马的手工清除方法_aina1877的博客-程序员宝宝

100种木马的手工清除方法!!!1.冰河v1.1v2.2这是国产最好的木马作者:黄鑫清除木马v1.1打开注册表Regedit点击目录至:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run查找以下的两个路径,并删除"C:\windows\system\kernel32.exe""C:\...

Cookies 必须启用才能登入 的启用方法 phpmyadmin_Microblue的博客-程序员宝宝_必须启用 cookies 才能登录。

 首先在IE和firefox分别phpmyadmin进行测试1.如果都是这种情况:Cookies 必须启用才能登入则先查看下面这两项是否设置正确$cfg[blowfish_secret] = cookie;  //有的版本的文件 里面没有cookie$cfg[Servers][$i][auth_type] = cookie;  2.如果在firefo

推荐文章

热门文章

相关标签