
剑指offer
Hu.先森
这个作者很懒,什么都没留下…
展开
-
剑指offer——礼物的最大价值(C++)
int GetMaxValue(vector<vector<int> > &arr) { if(arr.size() == 0||arr[0].size() == 0) return 0; int m = arr.size(); int n = arr[0].size(); vector<vector<int> > dp(m,...原创 2020-04-10 11:55:46 · 331 阅读 · 0 评论 -
寻找链表的环(C++)
//寻找链表的环 ListNode* FindLink(ListNode* head) { if(head == nullptr) return nullptr; ListNode* slow = head->next; if(slow == nullptr) return nullptr; ListNode* fast = ...原创 2020-04-04 19:19:16 · 495 阅读 · 0 评论 -
重建二叉树(C++)
//重建二叉树 //例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 struct TreeNode{ int val; TreeNode* left; TreeNode* right; }; //重建二叉树 TreeNode* ReConstructTree(vector<int>...原创 2020-04-04 19:18:03 · 2677 阅读 · 0 评论 -
从上至下打印二叉树(C++)
struct TreeNode{ int val; struct TreeNode* left; struct TreeNode* right; TreeNode(int x): val(x), left(NULL),right(NULL){ } }; vector<int> CenShowTree(TreeNode* pRo...原创 2020-04-04 19:16:48 · 480 阅读 · 0 评论 -
二分查找(C++)递归版本+循环版本
#include <iostream> #include <vector> #include <queue> using namespace std; //循环 int BinarySearch(vector<int> arr,int left,int right,int target) { while(left <= right)...原创 2020-04-04 19:03:59 · 350 阅读 · 0 评论 -
剑指offer-表示数值的字符串(c++)
bool isNumeric(char* string) { if(string == NULL) return false; if(*string == '+'||*string == '-') string++; if(*string == '\0') return false; int dot = 0,num ...原创 2020-03-28 12:40:21 · 226 阅读 · 0 评论 -
剑指offer-矩阵中的回溯法
bool hasPath(char* matrix, int rows, int cols,char* str ) { if(str == NULL||rows<=0||cols<=0) return false; bool *isOK = new bool[rows*cols](); for(int i = 0;i < rows;i++...原创 2020-03-27 16:51:45 · 157 阅读 · 0 评论