说明
计划用C++,按照CodeTop网站进行刷题
链接在此:CodeTop
此网站将LeetCode中的面试高频题目,进行降序排列。
还可以按照欲面试公司进行筛选
因为近期并无面试计划,只是做准备,所以即按照默认顺序做题
已经很久没碰代码了,怕手生
题目1 反转链表
算是最经典的题目了吧,之前做过很多次,知道有很多种方法
但是还是不能保证每次都能做对
这个题当然可以再创建一个链表,然后再一个个头插法复制
但这样一个是容易出错,一个是还占用了存储空间
但要是想保留原来的链表那另说
在这我还是采用在原链表上直接修改的方式进行修改next指针
ListNode* reverseList(ListNode* head) {
if(!head||!head->next)return head; //习惯性写法,不必要
ListNode* pre = nullptr;
ListNode* cur = head; //cur保存当前的
while(cur){
//因为nxt要回指,所以要记录下一个,要不找不回来了
ListNode* nxt = cur->next;
cur->next = pre;
pre = cur;
cur = nxt;
}
return pre;
}
不是难题,但也是一种特别的思路
也是想通过第一篇CSDN来熟悉下基本的MarkDown语法,嘿嘿