技术型人才测试题及答案.docxVIP

  • 0
  • 0
  • 约8.7千字
  • 约 22页
  • 2026-10-31 发布于未知
  • 举报

技术型人才测试题及答案

一、编程基础与算法能力(共4题)

题目1:链表操作(Python)

给定一个单链表头节点head,实现一个函数将链表中值为奇数的节点全部移动到偶数节点之前,保持奇数节点和偶数节点各自的相对顺序。要求时间复杂度O(n),空间复杂度O(1)。

示例:

输入:1-2-3-4-5-null

输出:1-3-5-2-4-null

答案1:

解题思路:使用双指针法,分别维护奇数链表和偶数链表的尾节点。遍历原链表,将每个节点根据值的奇偶性追加到对应链表尾部,最后将奇数链表的尾节点指向偶数链表的头节点。

```python

classListNode:

def__init__(self,val=0,next=None):

self.val=val

self.next=next

defodd_even_list(head:ListNode)-ListNode:

ifnotheadornothead.next:

returnhead

odd_tail=head奇数链表尾节点

even_head=head.next偶数链表头节点

even_tail=even_head偶数链表尾节点

current=even_he

文档评论(0)

1亿VIP精品文档

相关文档