阿里算法面试题及详细答案.docxVIP

  • 4
  • 0
  • 约1.34万字
  • 约 14页
  • 2026-05-02 发布于河北
  • 举报

阿里算法面试题及详细答案

一、基础算法题(必考题,侧重代码落地与边界处理)

题1:反转链表(阿里全岗位最高频入场题,常追问区间反转、K个一组翻转)

题目:给定单链表的头节点head,反转整个链表,返回反转后的头节点(要求写出迭代和递归两种写法,分析时间/空间复杂度)。

详细答案:

核心思路:链表反转的核心是“改变指针指向”,迭代法用三指针控制节点切换,递归法利用回溯思想从尾节点反向调整指针,两种写法都要掌握(阿里面试官常要求两种都写)。

1.迭代写法(推荐,空间复杂度更优,实际开发中更常用)

python

classListNode:

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

self.val=val

self.next=next

defreverseList(head:ListNode)-ListNode:

#边界处理:空链表或只有一个节点,直接返回

ifnotheadornothead.next:

returnhead

#三指针:pre(前一个节点)、cur(当前节点)、temp(临时保存下一个节点)

pre=None

cur=head

whilecur:

temp=cu

文档评论(0)

1亿VIP精品文档

相关文档