设为首页 加入收藏

TOP

四道有趣的单链表面试题
2014-11-23 18:55:19 】 浏览:262
Tags:有趣 单链 表面 试题

  链表也算是基本数据类型之一了。记得刚学习C语言的时候,链表和数组是见得最多的数据类型了。也正因为它的常用,在面试的时候自然会有所涉及,本文主要讨论四道我觉得比较有趣的关于单链表的面试题。


  Q1 链表的反序


  Q2 找出链表的中间元素


  Q3 链表排序


  Q4 判断一个单链表是否有环


  以下给出链表结点的数据结构:


  typedef struct _list_node


  {


  double keyVal;


  struct _list_node *next;


  }ListNode;


  Q1 单链表的反序


  ListNode* reverseList(ListNode* head)


  {


  ListNode *p1, *p2 , *p3;


  //链表为空,或是单结点链表直接返回头结点


  if (head == NULL || head->next == NULL)


  {


  return head;


  }


  p1 = head;


  p2 = head->next;


  while (p2 != NULL)


  {


  p3 = p2->next;


  p2->next = p1;


  p1 = p2;


  p2 = p3;


  }


  head->next = NULL;


  head = p1;


  return head;


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇计算机二级辅导:Windows通用线程类 下一篇Huffman编码的实现

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目