- 1
- 0
- 约2.37千字
- 约 6页
- 2026-10-21 发布于河南
- 举报
码农笔试题及答案
一、算法与数据结构(30分)
1.题目:给定一个单链表的头节点`head`,请反转链表并返回反转后的链表。
答案:可以使用迭代法或递归法。迭代法通过三个指针(prev,curr,next)遍历链表,每次将当前节点的next指向prev,然后移动指针。递归法则是递归到最后一个节点,然后逐层返回并反转指针方向。
2.题目:给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。
答案:递归求解。如果树为空,深度为0;否则,最大深度等于左子树深度和右子树深度的最大值加1(即`max(leftDepth,rightDepth)+1`)。
3.题目:字符串leetcode中,leet是code的子序列吗?请解释判断子序列的方法。
答案:是的。判断子序列的方法是双指针法:使用两个指针分别遍历原字符串和目标字符串,如果字符匹配则两个指针都后移,否则只移动原字符串指针。如果目标字符串指针遍历结束,则说明是子序列。
4.题目:如何将两个有序数组`nums1`和`nums2`合并为一个有序数组`nums1`?
答案:使用双指针法从后向前合并。初始化`i=m-1`,`j=n-1`,`k=m+n-1`。比较`nums1[i]`和`nums2[j
原创力文档

文档评论(0)