剑指offer
随便的名字111
这个作者很懒,什么都没留下…
展开
-
剑指offer JZ16 合并两个排序的链表
代码class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { ListNode* list = new ListNode(-1); ListNode* p = list; while (pHead1 && pHead2) { if (pHead1->val <= pHead2->val) {原创 2021-07-16 18:04:04 · 101 阅读 · 0 评论 -
剑指offer JZ15 反转链表
代码class Solution {public: ListNode* ReverseList(ListNode* pHead) { ListNode *pre = nullptr; ListNode *cur = pHead; ListNode *nex = nullptr; while (cur) { nex = cur->next; cur->next = pre;原创 2021-07-15 19:23:14 · 103 阅读 · 0 评论 -
剑指offer JZ14 链表中倒数最后k个结点
代码/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : val(x), next(nullptr) {} * }; */class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead ListNode类 * @par原创 2021-07-14 16:56:41 · 115 阅读 · 0 评论 -
剑指offer JZ13 调整数组顺序使奇数位于偶数前面
代码class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型vector */ vector<int> reOrderArray(vector<int>& array) { // write code here原创 2021-07-13 19:52:13 · 73 阅读 · 0 评论 -
剑指offer JZ12 数值的整数次方
代码class Solution {public: double Power(double base, int exponent) { if (exponent < 0) { exponent = -exponent; base = 1/base; }//处理幂为负数的情况 double x = base; double res = 1.0;// return原创 2021-07-12 17:46:48 · 73 阅读 · 0 评论 -
剑指offer JZ11 二进制中1的个数
代码class Solution {public: int NumberOf1(int n) { int res=0; while (n!=0){ res++; n=n & (n-1); } return res; }};思路今天这题我的理解不深,就不献丑了,这里给出官方解答。谢谢各位。如果我以后理解了,会跟上我的解答的。...原创 2021-07-11 20:10:12 · 74 阅读 · 0 评论 -
剑指offer JZ10 矩形覆盖
代码class Solution {public: int rectCover(int number) { if (number == 0) return 0; if (number == 1) return 1; int dp[number+1]; dp[0]=1; dp[1]=1; for (int i=2;i<=number+1;i++){ dp[i] = dp[i原创 2021-07-10 22:10:48 · 122 阅读 · 1 评论 -
剑指offer JZ9 跳台阶扩展问题
代码class Solution {public: int jumpFloorII(int number) { return pow(2,number-1); }};思路非常简单易懂,拜拜~原创 2021-07-09 22:13:58 · 183 阅读 · 4 评论 -
剑指offer JZ8 跳台阶
代码class Solution {public: int jumpFloor(int number) { if (number == 1) return 1; if (number == 2) return 2; int dp[number]; dp[0]=1; dp[1]=2; for (int i=2;i<number;i++){ dp[i]=dp[i-1]+dp[原创 2021-07-08 09:26:43 · 77 阅读 · 0 评论 -
剑指offer JZ7 斐波那契数列
代码class Solution {public: int Fibonacci(int n) { if (n==0) return 0; if (n==1) return 1; int i=2; int a=0; int b=1; while (i<=n) { int temp = b; b=a+b; a=temp;原创 2021-07-07 11:29:30 · 99 阅读 · 0 评论 -
剑指offer JZ6 旋转数组的最小数字
代码class Solution {public: int minNumberInRotateArray(vector<int> rotateArray) { if (rotateArray.empty()){ return 0; } int left = 0; int right = rotateArray.size()-1; while (left < right){原创 2021-07-06 11:00:43 · 47 阅读 · 0 评论 -
剑指offer JZ5 用两个栈实现队列
代码class Solution{public: void push(int node) { while (!stack1.empty()){ stack2.push(stack1.top()); stack1.pop(); } stack1.push(node); while (!stack2.empty()){ stack1.push(stack2.top原创 2021-07-05 22:07:35 · 87 阅读 · 0 评论 -
剑指offer JZ4 重建二叉树
代码/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* rebuild(vector<int>原创 2021-07-04 11:38:45 · 75 阅读 · 0 评论 -
剑指offer JZ3 从尾到头打印链表
代码class Solution {public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> res; while (head){ res.push_back(head->val); head = head->next; } std::reverse(res.b原创 2021-07-03 10:06:19 · 92 阅读 · 0 评论 -
剑指offer JZ2 替换空格
代码class Solution {public: string replaceSpace(string s) { string ans=""; for(char c:s){ if(c==' ') ans+="%20"; else ans+=c; } return ans; }};思路使用临时变量存储,遍历原字符串替换。...原创 2021-07-02 16:47:17 · 72 阅读 · 0 评论 -
剑指offer JZ1 二维数组中的查找
代码class Solution {public: bool Find(int target, vector<vector<int> > array) { int m = array.size(); int n = array[0].size(); if (m==0) return false; if (n==0) return false; int r=0,c=n-1; wh原创 2021-07-01 19:50:48 · 57 阅读 · 0 评论