美丽乡村建设规划文本网站一家公司为什么要建官方网站

张小明 2025/12/27 20:47:36
美丽乡村建设规划文本网站,一家公司为什么要建官方网站,wordpress 分类 置顶,火车头wordpress采集206. 反转链表这道题在链表界的地位#xff0c;大约等同于编程语言里的 Hello World。 虽然它是简单题#xff0c;但据我观察#xff0c;能一遍 bug free 且能清晰讲出递归逻辑的人#xff0c;其实并没有想象中那么多。很多人脑子会了#xff0c;手一写#xff0c;NPE大约等同于编程语言里的 Hello World。虽然它是简单题但据我观察能一遍 bug free且能清晰讲出递归逻辑的人其实并没有想象中那么多。很多人脑子会了手一写NPE空指针了或者链表断了。今天咱们就来彻底搞定它顺便聊聊怎么在面试里把这道题写出“花”来。题目是个啥给你一个单链表的头节点head请你反转链表并返回反转后的头节点。输入1 - 2 - 3 - 4 - 5 - NULL输出5 - 4 - 3 - 2 - 1 - NULL看着简单吧不就是把箭头调个头吗嘿链表这东西最烦人的就是由于它是单向的你一旦回头就找不到前任了一旦往前走就找不到后路了。 所以操作指针的时候得格外小心。策略一双指针迭代法这是最推荐的面试写法。逻辑清晰空间复杂度 O(1)不容易出错。核心心法三人行虽然叫双指针但其实我们需要三个变量来玩转这场“移形换影”curr当前节点我现在在哪。prev前驱节点我要把箭头指给谁我的新后继。next临时节点最重要的备胎。在我改变心意指向prev之前我得先记下来我原本要去哪不然一断链后面的节点全丢了。动图脑补流程想象一下你站在curr(比如节点 2) 的位置备份先把curr.next(节点 3) 存到next变量里。防丢失掉头把curr.next指向prev(节点 1)。关键一步链子反了挪窝prev往前走一步变成curr。curr往前走一步变成刚才备份的nextclass Solution { public ListNode reverseList(ListNode head) { // prev 初始化为 null因为反转后原本的头节点要指向 null ListNode prev null; ListNode curr head; while (curr ! null) { // 1. 记下原本的下一步去哪保存现场 ListNode nextTemp curr.next; // 2. 斩断情丝回首掏指针反转 curr.next prev; // 3. 整体向后移动 prev curr; curr nextTemp; } // 循环结束时curr 是 nullprev 才是新的头节点原本的尾巴 return prev; } }防坑指南千万别忘了最后返回的是prev不是curr循环结束时curr已经是null了。别忘了初始化prev null否则反转后的尾巴没法结束。策略二递归法如果你想在面试官面前秀一下你的抽象思维能力或者想让代码看起来短小精悍可以用递归。但说实话这玩意儿非常绕脑子不好使的时候容易把自己绕进去。核心心法甩锅递归的精髓在于信任。假设我们有一个函数 reverseList(head)它的作用是把以 head 为头的链表反转并返回新的头。面对1 - 2 - 3 - 4 - 5我节点 1想反转整个链表。我太懒了我先对 head.next也就是节点 2说“兄弟你带着后面那帮人先去反转一下。”ListNode newHead reverseList(head.next);假设第 2 步成功了现在的局面是1 - 2 - 3 - 4 - 5注意此时 1 还连着 2但 2 已经是后面那串反转后的链表的“尾巴”了。关键操作我要让 2 指回 1。head.next.next head; 翻译我下家的下家变成我自己断后路1 现在是新的尾巴了必须指向 null否则就死循环了。head.next null;class Solution { public ListNode reverseList(ListNode head) { // 递归终止条件链表为空或者只有一个节点那还反转个屁直接返回 if (head null || head.next null) { return head; } // 1. 甩锅先让后面的节点去反转 // newHead 只是为了最后返回用中间过程完全不碰它 ListNode newHead reverseList(head.next); // 2. 关键把当前节点挂到后面那串链表的尾巴上 // head.next 此时就是后面那串的尾节点 head.next.next head; // 3. 断开原来的连接防止环路 head.next null; return newHead; } }优缺点分析帅代码行数少逻辑看起来很高级。险空间复杂度是 O(N)因为要压栈。如果链表非常长可能会StackOverflow。在工程项目里还是老老实实写迭代法吧别搞这些花里胡哨的。总结反转链表这道题属于**“肌肉记忆”**级别的题目。面试求稳写迭代法双指针解释清楚prev,curr,next的作用。面试求异如果面试官问“能不能用递归”你再反手甩出第二种解法并顺便聊聊递归栈的深度问题B 格瞬间拉满。最后记住这句话操作链表前先把next存起来不然链表断了神仙也救不回来。去刷题吧祝大家都能把 offer 拿到手软
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

溧阳做网站哪家好舟山网站开发

Wan2.2-T2V-5B:当AI视频生成不再“高不可攀” 🎥✨ 你有没有试过在脑子里构思一个画面——比如一只金毛犬穿过阳光斑驳的森林,树叶随风轻晃,光影跳跃在它蓬松的毛发上——然后希望几秒钟内就能看到这段视频出现在屏幕上&#xff1…

张小明 2025/12/23 7:15:48 网站建设

网站开发职业生涯规划范文wordpress的缺点

FaceFusion是否支持批量处理?自动化脚本编写指南在AI内容创作日益普及的今天,人脸替换技术已从实验室走向大众应用。无论是社交媒体上的趣味头像生成,还是影视制作中的演员面部修复,高效、稳定的人脸交换工具都显得尤为重要。Face…

张小明 2025/12/23 7:14:44 网站建设

企业网站标题优化郑州网络公司做医疗网站

LobeChat能否实现AI音乐推荐?个性化歌单生成助手 在数字音乐平台内容爆炸的今天,用户面对数千万首歌曲时常常陷入“选择困难”——我们不再缺歌,而是缺少一种真正懂自己的方式来发现音乐。传统的推荐系统依赖播放历史和协同过滤,虽…

张小明 2025/12/23 7:13:40 网站建设

专业做能源招聘的网站网络设计培训

Source Han Serif CN 是一款由 Google 和 Adobe 联合开发的开源中文字体,提供七种不同字重选择,完全免费商用。这款字体支持简体中文、繁体中文、日文和韩文,是网页设计、品牌包装和印刷出版的理想选择。 【免费下载链接】source-han-serif-t…

张小明 2025/12/23 7:11:34 网站建设

网站推广活动方案电商平面设计图

Linux 内存管理与信号机制深度解析 1. 内存管理 1.1 内核分页行为改变的影响 改变内核的分页行为可能会对系统整体性能产生负面影响。当一个应用程序的页面被锁定在内存中时,为了腾出空间,其他应用程序的页面会被换出。内核会依据其算法选择最优的页面进行换出,即未来最不…

张小明 2025/12/23 7:10:30 网站建设

电脑网站打不开了但是有网七台河新闻哪里看回放

城市居住人口,指长期在城市特定区域居住的人口,反映 “居住地” 维度的人口集聚特征;工作人口,指在城市特定区域从事生产经营活动的人口,反映 “就业地” 维度的人口流动特征,两者均是城市规划、产业发展、…

张小明 2025/12/23 7:09:28 网站建设