京东软件开发工程师面试题集.docxVIP

  • 0
  • 0
  • 约8.18千字
  • 约 24页
  • 2026-03-25 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年京东软件开发工程师面试题集

一、编程基础(5题,每题10分,共50分)

1.数组旋转问题

题目:给定一个数组`nums`和一个整数`k`,将数组向右旋转`k`步。例如,`nums=[1,2,3,4,5]`,`k=2`,旋转后为`[4,5,1,2,3]`。请实现该功能。

答案:

python

defrotate(nums,k):

n=len(nums)

k=k%n

nums[:]=nums[-k:]+nums[:-k]

解析:通过计算`k%n`减少不必要的旋转次数。将数组分为两部分`nums[-k:]`和`nums[:-k]`,然后拼接。时间复杂度O(n),空间复杂度O(1)。

2.链表反转

题目:实现一个函数`reverseList`,将一个链表反转。例如,输入`1-2-3-4-5`,输出`5-4-3-2-1`。

答案:

python

classListNode:

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

self.val=val

self.next=next

defreverseList(head):

prev=None

current=head

whilecurrent:

next_node=current.next

c

文档评论(0)

1亿VIP精品文档

相关文档