- 2
- 0
- 约7.55千字
- 约 24页
- 2026-10-20 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年联想集团软件工程师面试题集
一、编程能力测试(共5题,每题20分,总分100分)
题目1(20分):数组旋转问题
问题描述:给定一个数组`nums`和一个整数`k`,将数组中的元素向右旋转`k`步。例如,输入`nums=[1,2,3,4,5]`,`k=2`,输出`[4,5,1,2,3]`。
要求:
1.不使用额外数组空间,原地旋转数组
2.时间复杂度O(n),空间复杂度O(1)
3.写出完整Java/Python实现代码
题目2(20分):链表合并问题
问题描述:合并两个排序链表,合并后的链表也应该是排序的。例如,输入`l1=[1,2,4]`,`l2=[1,3,4]`,输出`[1,1,2,3,4,4]`。
要求:
1.实现递归和非递归两种解法
2.考虑边界情况(空链表、不同长度的链表)
3.写出完整代码及复杂度分析
题目3(20分):字符串匹配问题
问题描述:实现KMP(Knuth-Morris-Pratt)字符串匹配算法的核心函数`kmpTable`,用于构建部分匹配表。给定模式串`pattern`,返回部分匹配表。
要求:
1.解释KMP算法原理
2.实现部分匹配表构建函数
3.分析时间复杂度
题目4(20分):二叉树遍历问题
问题描述:给定一个二叉树,返回其层序遍历(按从上到下、从
原创力文档

文档评论(0)