• 判断闰年的方法以及如何获得单链表的倒数第K个元素


      今天很悲催,心中向往的公司,打电话过来面试,问到我两个问题,结果竟然都没有回答上,伤心了,记录下今天失败,希望以后不要被同样的问题给PASS.

      问题1.如何判断是否为闰年

      所谓闰年那就是:四年一闰,百年不闰,四百年再闰。

      其实代码也就是 if((n%4 == 0 && n%100 != 0) || n %400 == 0){} 最原始的方法。

      记不住判断闰年的定义,导致无法回答。

      问题2.如何获得单链表的倒数第K个元素(时间复杂度最小)

      方法(1) 首先查找到整个链表中的元素个数, 然后再一次遍历该数组,找到第n-k+1个元素,即为所求。

      缺点:这需要两次遍历链表,当链表中的元素个数很多的时候,耗费时间。
      方法(2):定义两个指针p,q,初始时都指向头节点间,然后q向后移动,p则保持不动。
      当q移动到第K个位置的时候,pq两个节点同时向后移动,当q达到链表尾部的时候, p节点所指向的位置,即为所求。

          看起来很简单,可是面试的时候,这些真不知道如何去答。

      希望以后不要再在这里跌倒了!!!

  • 相关阅读:
    如何将DataTable转换成List<T>呢?
    mySql中SUBSTRING_INDEX函数用法
    常用 Git 命令清单
    git学习笔记
    MySql 获取表的字段名
    mysql从身份证号中提取生日、性别
    年月日转大写汉字
    ExtJs服务器端代理(Ajax)
    ExtJS客户端代理
    ExtJS 数据模型
  • 原文地址:https://www.cnblogs.com/akwwl/p/3679542.html
Copyright © 2020-2023  润新知