牛客网
文章平均质量分 54
情话0.0
在今天不断地学习,能够弥补昨天的缺失
展开
-
【牛客网】链表中倒数第k个结点、CM11 链表分割、OR36 链表的回文结构
输入一个链表,输出该链表中倒数第k个结点。 对于这道题,同样通过快慢指针的思想去解决,但是这个快指针不是每次向后移动两步,而是先让快指针走上步,然后快慢指针再同时移动,当快指针指向空的时候慢指针指向的结点刚好为所要找的结点。除此之外,还要考虑到一些特殊情况,比如只有三个结点,却要返回倒数第四个结点;或者返回倒数第零个结点。二、链表分割 现有一链表的头指针 ,给一定值 ,编写一段代码将所有小于 的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。 对于这道题,有两种解原创 2022-11-19 21:45:51 · 1058 阅读 · 48 评论 -
【牛客网】反转数字
1.为什么要将返回值 ret 定义成 long long 型是因为存在反转数字太大,若只设置四个字节会超出这个范围的最大数字或最小数字,最终只会将这个数字的后32个比特位截取然后赋值给 ret ,那么在最后的输出结果会不满足示例4。为了避免这个警告,我们可以在最后返回语句上对 ret 进行强制类型转换,当然这个做法是不会产生问题的,因为既然能执行这一步那肯定该数字是在 [−231, 231 − 1]范围内的。给定一个32位的有符号整数num,将num中的数字部分反转,最后返回反转的结果。原创 2022-10-04 17:58:08 · 609 阅读 · 7 评论 -
【牛客网】数组中值出现了一次的数字
接下来就将所有的数字左移 x 位进行判断是否为 1 而被分组,最后将这两个组的数据分别进行异或各自得到的数字就为那两个出现奇数词的数字。输入包含两行,第一行一个整数n(1≤n≤10^5),代表数组arr的长度,第二行n个整数,代表数组arr,arr[i]为32位整数。将所有的数字进行异或,得到的数字二进制的某一位(假设第 x 位)肯定为 1 ,而这个 1 就可以作为分组的标准。,对于这道题,可以将所有的数字分成两组,而两个出现奇数词的数字刚好会被分在不同的组内,输出出现奇数次的两个数,按照从小到大的顺序。原创 2022-10-16 17:16:50 · 747 阅读 · 16 评论