- 博客(3)
- 收藏
- 关注
原创 #每日算法# - 编写一个函数,检查输入的链表是否是回文的。
整个函数通过巧妙地利用快慢指针和链表反转操作,高效地判断链表是否为回文链表。,表示链表不是回文的。如果循环结束都没有发现不相等的值,则返回。指针的下一个节点(即链表后半部分的起始节点)赋值给。,这样就把链表分成了两部分。每次比较当前节点的值,如果不相等则返回。循环反转链表后半部分。参数,代表链表的头节点。重新指向反转后的链表后半部分的头节点。开始)和反转后的后半部分链表(从。指向的就是反转后的链表后半部分。,因为空链表被认为是回文的。需要注意的是,上述代码中的。指向头节点的下一个节点。指针指向链表的中点。
2025-04-27 17:12:03
253
原创 #每日算法# - 2. 给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对两个整数求和,并用链表形式返回结果。
该算法的核心思路是模拟手工加法的过程,从两个链表的头节点开始逐位相加,同时处理进位情况,直到两个链表都遍历完且没有进位为止。
2025-04-24 17:21:54
389
原创 #每日算法#-对链表进行分区的功能,也就是将链表中所有小于给定值 x 的节点都移到大于或等于 x 的节点之前,同时要保持这些节点在原链表中的相对顺序不变。
最后将这两个链表连接起来,就得到了满足条件的新链表。采用双指针的方法,分别构建两个链表:一个链表存储所有小于。的节点,另一个链表存储所有大于或等于。
2025-04-23 12:33:52
300
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅