字节 教育业务 一轮面试

  1. 自我介绍
  2. TCP vs. UDP
  3. TCP三次握手
  4. DNS
    • 解析过程
    • 安全吗
    • 日志
  5. 项目
  6. 进程与线程,概念,区别,调度算法
  7. 进程通信
  8. OSI七层协议
  9. 做题:合并链表
    链表奇数位升序,偶数位降序
  10. 你有什么问题
  11. 想不起来了

关于这道链表合并题:链表奇数位升序,偶数位降序,合并为升序。
我先后想到两种做法:

  • 原地操作:
    1. 把奇偶链表分开
    3. 翻转偶链表
    3. 合并两个链表
    时间复杂度 : O(N)
    空间复杂度:O(1)
  • 利用栈、队列
    用队列把奇数节点存起来,用栈把偶数节点存起来。 然后合并。
    优化:不用队列,把偶数节点取出来并用栈存起来,剩下的全部为奇数节点。 遍历奇数节点,用一个指针指向奇数节点,每次用栈顶取元素,找到其在奇数节点中的位置插入。
posted @ 2020-07-16 16:56  Edwin_Xu  阅读(361)  评论(0编辑  收藏  举报