剑指offer67题-No15.反转链表
反转链表的三种方法--面试必考(图例超详细解析,小白一看就会!!!)-CSDN博客 要求:空间复杂度 O(1) ,时间复杂度 O(n) 。 方法1:就地逆置,三指针迭代分不太清头插法和就地逆置的区别,感觉没啥区别。三个指针temp、cur、newCur; ListNode* ReverseList(ListNode* head) { if(head…
|
|
剑指offer67题-No6.旋转数组中的最小数字
二分法。 二分法的本质、模板、例题 - 知乎 二分法的关键是找出目标点的性质。 观察题目中,旋转数组的性质,能发现最小的数字一定是小于等于最右端点的。即找出某区间的最左值,用二分法的右区间模板。 class Solution { public: int minArray(vector<int> &numbers) { int pivo…
|
|
剑指offer67题-No4.重建二叉树
剑指offer第三题:从头到尾打印链表,比较简单。代码如下: #include <vector> class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { if(head == nullptr) return vector<int>…
|
|