找到单向链表中间那个元素,如果有两个则取前面一个--google笔试题

原创 2007年10月03日 15:41:00
今天看了一道题:寻找单链表的中间元素。偶想了一个只用一遍扫描的方法。描述如下:
假设mid指向当前已经扫描的子链表的中间元素,cur指向当前以扫描链表的尾节点,那么继续扫描即移动cur到cur->next,这时只需判断一下应不应移动mid到mid->next就行了。所以一遍扫描就能找到中间位置,伪代码如下
cur = mid = head;
= j = 0;
while(cur != null ){
    
if( i % 2 > j){
         j
++;
         mid 
= mid ->next;
      }
   i
++;
   cur 
= cur->next

中国大学MOOC-陈越、何钦铭-数据结构-2017春期中考试

一、判断题 1、若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。(T) 解析:依据出栈序列,可推出的进出栈为PPPOPO,至此得到序列为{...
  • yeternity
  • yeternity
  • 2017年04月25日 23:03
  • 2856

[算法]找出单链表中的倒数第k个元素

找出单链表中的倒数第k个元素解题思路: 为了求出链表中的倒数第k个元素,最容易想到的方法是首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第k个,转换为正数第n-k个,接下去遍历一次就可以得...
  • CodeEmperor
  • CodeEmperor
  • 2016年05月06日 16:12
  • 3102

阿里巴巴2016校招笔试题(含答案、解析)

阿里巴巴2016校招笔试题(含答案、解析)
  • zhao__fang
  • zhao__fang
  • 2016年03月06日 19:45
  • 12665

C++笔试题(单向链表)

#ifndef F_Test_2017_11_11_11_JHASKDFJHASF_H_ #define F_Test_2017_11_11_11_JHASKDFJHASF_H_#include /*...
  • fjh_tigerMan
  • fjh_tigerMan
  • 2017年11月11日 15:16
  • 42

面试题04:找出两个单向链表的第一个公共节点

问题描述:给定两个单向链表,找出它们的第一个公共节点。链表的节点定义如下:struct ListNode { int Key; ListNode* pNext;...
  • yvhqbat
  • yvhqbat
  • 2016年04月17日 21:22
  • 195

C++笔试题(剑指offer 面试题5 将单向链表数据,逆向打印输出)

#ifndef F_FIND_WORK_TEST5_REVERSE_PRINTF_LIST_20171111_JHASKDFJHASF_H_ #define F_FIND_WORK_TEST5_REV...
  • fjh_tigerMan
  • fjh_tigerMan
  • 2017年11月13日 10:36
  • 44

微软暑期实习笔试题 合并两个有序单链表

当时做这一题的时候就感觉有点繁琐,其实也不难。感觉面试官就是想看看自己的基础水平在哪里。  当自己不想写,有必须要写的时候才发现很繁琐。原来打算20行都不要,却越写越多,有的地方居然挤不下。 最后...
  • ClamReason
  • ClamReason
  • 2012年07月31日 10:43
  • 2013

笔试题四:带头节点head两个链表合并,并且有序

将2个分别有序的链表合并成一个链表,并且合并后的链表依然有序。 方法:初始化一个头结点head,然后比较list1,和list2链表的第一个节点,选择比较小的连接到head上去,如此往复。 ...
  • JAN198986
  • JAN198986
  • 2013年12月04日 11:09
  • 522

笔试题 合并两个有序链表

已知两个链表head1和head2各自有序,请把他们合并成一个链表依然有序 1  3 5 7, 2 4 6 8, 合并 1 2 3 4 5 6 7 8 代码实现如下//思路:比较两个链...
  • qq_36629451
  • qq_36629451
  • 2017年08月07日 13:02
  • 83

数据结构之链表面试题汇总(四)得到两个单链表相交的第一个交点、用O(1)的时间效率删除单向链表中的指定节点

date: 2016-08-18 9:15:00 title: 数据结构之链表面试题汇总(四)得到两个单链表相交的第一个交点、用O(1)的时间效率删除单向链表中的指定节点 categories: ...
  • andy_px
  • andy_px
  • 2017年11月02日 21:20
  • 45
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:找到单向链表中间那个元素,如果有两个则取前面一个--google笔试题
举报原因:
原因补充:

(最多只允许输入30个字)