链表面试题-一个链表的结点结构

时间:2024-08-09 17:21:02 资料大全 我要投稿
  • 相关推荐

链表面试题-一个链表的结点结构

  struct Node

链表面试题-一个链表的结点结构

  {

  int data ;

  Node *next ;

  };

  typedef struct Node Node ;

  (1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel)

  Node * ReverseList(Node *head) //链表逆序

  {

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

  return head;

  Node *p1 = head ;

  Node *p2 = p1->next ;

  Node *p3 = p2->next ;

  p1->next = NULL ;

  while ( p3 != NULL )

  {

  p2->next = p1 ;

  p1 = p2 ;

  p2 = p3 ;

  p3 = p3->next ;

  }

  p2->next = p1 ;

  head = p2 ;

  return head ;

  }

  (2)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,

链表面试题-一个链表的结点结构

资料共享平台

链表面试题-一个链表的结点结构》(https://www.unjs.com)。(保留所有结点,即便大小相同)

  Node * Merge(Node *head1 , Node *head2)

  {

  if ( head1 == NULL)

  return head2 ;

  if ( head2 == NULL)

  return head1 ;

  Node *head = NULL ;

  Node *p1 = NULL;

  Node *p2 = NULL;

  if ( head1->data < head2->data )

  {

  head = head1 ;

  p1 = head1->next;

  p2 = head2 ;

  }

  else

  {

  head = head2 ;

  p2 = head2->next ;

  p1 = head1 ;

  }

  Node *pcurrent = head ;

  while ( p1 != NULL && p2 != NULL)

  {

  if ( p1->data <= p2->data )

  {

  pcurrent->next = p1 ;

【链表面试题-一个链表的结点结构】相关文章:

求职动机面试题07-30

有趣而刁钻的面试题10-22

20个经典面试题04-12

宝洁英语面试题03-18

销售行业面试题07-26

面试题:讲解实习经历09-19

面试题:谈谈你的缺点10-07

银行面试题目及答案09-19

面试题:团队智力型01-16

上海奥美面试题目09-22