- 3
- 0
- 约8.28千字
- 约 23页
- 2026-04-02 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为研发岗位面试问题及答案
一、编程与算法(共5题,每题10分,总分50分)
1.题目:
给定一个链表,删除链表的倒数第n个节点,并返回新的链表头。要求不使用额外空间,且时间复杂度为O(n)。
答案:
cpp
structListNode{
intval;
ListNodenext;
ListNode(intx):val(x),next(nullptr){}
};
ListNoderemoveNthFromEnd(ListNodehead,intn){
ListNodedummy=newListNode(0);
dummy-next=head;
ListNodefirst=dummy;
ListNodesecond=dummy;
//先让first走n+1步
for(inti=0;i=n;++i){
if(first==nullptr)returnnullptr;
first=first-next;
}
//让first和second同时走,直到first到达链表末尾
while(first!=nullptr){
first=first-next;
second=second-next;
}
//删除倒数第n个节点
List
原创力文档

文档评论(0)