牛客网
i_Crave
我还年轻,吃苦趁现在!
欲戴王冠,必承其重
展开
-
链表分割且不能改变原来的数据顺序
描述 现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序, 返回重新排列后的链表的头指针。 思路一: 动态创建两个带头单项链表,从原链表头开始遍历,一个记录值大于x的节点,把最后一个节点链接到空节点上;一个记录值小于x的节点。将记录大于x的链表链接到记录小于x的链表的后面,再释放两个头结点; 记录链表分开后的两个头结点,以便于释放两个哨兵头位,将两个链表连起来(如下图) 思路二: 在原链表上改动,从...原创 2021-10-25 20:59:25 · 275 阅读 · 5 评论 -
C语言实现接雨水问题
描述 给定一个整形数组arr,已知其中所有的值都是非负的,将这个数组看作一个柱子高度图,计算按此排列的柱子,下雨之后能接多少雨水。 输入:[3,1,2,5,2,4] 返回值:5 说明:数组 [3,1,2,5,2,4] 表示柱子高度图,在这种情况下,可以接 5个单位的雨水,蓝色的为雨水 接雨水问题_牛客题霸_牛客网 (nowcoder.com) 解释: 设置两个水量,一个临时水量,一个最终水量;两个下标啊a,b, a指向开始出不动,b指向开始出加一往右移动;b下标对应的值如果比a下标对应.原创 2021-09-04 21:54:20 · 1334 阅读 · 3 评论