04 2023 档案

摘要:初次写代码时,被边界条件各种ban,总是忽略,遂放弃,以下整理出一些评论区大佬边界条件不明显或不需要边界条件的解法。边界条件繁琐的代码不要背,否则笔试各种ban。 比较经典的是下面这种写法,有点抽象,根本思想是有三个指针: 第一个指针在反转段前一个节点固定; 第二个指针是当初的第一个需要反转的节点, 阅读全文
posted @ 2023-04-19 22:52 luxiayuai 阅读(11) 评论(0) 推荐(0) 编辑
摘要:剑指 Offer 09. 用两个栈实现队列 class CQueue { private: stack<int> inStack, outStack; void in2out(){ //这里必须是while循环,如果是if判断,则输出栈日常只有一个值,没有起到先入后出的作用 while(!inSta 阅读全文
posted @ 2023-04-13 23:07 luxiayuai 阅读(11) 评论(0) 推荐(0) 编辑
摘要:这道题让我想起了acwing里的高精度加法,因为这里的加法也是超过100位了。于是套着模板写了一下,然后看了一下评论区,发现链表再套vector属于是脱裤子放屁了 /** * Definition for singly-linked list. * struct ListNode { * int v 阅读全文
posted @ 2023-04-12 23:13 luxiayuai 阅读(13) 评论(0) 推荐(0) 编辑
摘要:做法一:直接求出中序遍历,并用vector容器存储。 /* struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struct TreeLinkNode *next; TreeLin 阅读全文
posted @ 2023-04-07 23:41 luxiayuai 阅读(11) 评论(0) 推荐(0) 编辑
摘要:解法一:①首先判断是否有环,若无环,则快指针或其下一指针指向空;若有环,则从快慢指针相遇的位置继续出发,直到再次相遇,遍历次数即为环长len。②两指针从头结点重新开始,让其中一指针先出发len步,而后另一指针再出发,相遇节点即为环起点。 /** * Definition for singly-lin 阅读全文
posted @ 2023-04-06 23:42 luxiayuai 阅读(14) 评论(0) 推荐(0) 编辑
摘要:141. 环形链表 解法一:所到之处,寸草不生 第一种解法自己写的,巧妙运用了链表的val,只要遍历过,就将节点的值设置为1e9,时间空间复杂度都达到了完美的统一(doge) /** * Definition for singly-linked list. * struct ListNode { * 阅读全文
posted @ 2023-04-06 10:37 luxiayuai 阅读(17) 评论(0) 推荐(0) 编辑
摘要:21. 合并两个有序链表 做法1: 构建虚拟头节点,而后双指针做法。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), ne 阅读全文
posted @ 2023-04-01 09:30 luxiayuai 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示