字节 教育业务 一轮面试
- 自我介绍
- TCP vs. UDP
- TCP三次握手
- DNS
- 解析过程
- 安全吗
- 日志
- 项目
- 进程与线程,概念,区别,调度算法
- 进程通信
- OSI七层协议
- 做题:合并链表
链表奇数位升序,偶数位降序 - 你有什么问题
- 想不起来了
关于这道链表合并题:链表奇数位升序,偶数位降序,合并为升序。
我先后想到两种做法:
- 原地操作:
1. 把奇偶链表分开
3. 翻转偶链表
3. 合并两个链表
时间复杂度 : O(N)
空间复杂度:O(1) - 利用栈、队列
用队列把奇数节点存起来,用栈把偶数节点存起来。 然后合并。
优化:不用队列,把偶数节点取出来并用栈存起来,剩下的全部为奇数节点。 遍历奇数节点,用一个指针指向奇数节点,每次用栈顶取元素,找到其在奇数节点中的位置插入。