C++
EmstanLee
这个作者很懒,什么都没留下…
展开
-
C++中的static_cast ,reinterpret_cast的用法和区别
原文地址:https://www.cnblogs.com/heyonggang/p/3361643.html用法:static_cast < type-id > ( expression )该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。...转载 2018-08-05 10:14:26 · 29053 阅读 · 4 评论 -
leet-code-105. 从前序与中序遍历序列构造二叉树 and leet-code-106 从中序与后序遍历序列构造二叉树
leet-code-105. 从前序与中序遍历序列构造二叉树:class Solution {private: int search(int *inorder,int len,int target){ for(size_t i=0;i<len;++i){ if(target==inorder[i]) ...原创 2018-07-02 20:29:12 · 476 阅读 · 0 评论 -
leetcode-416. 分割等和子集
class Solution { bool search(vector<int>& nums, int idx, int target, vector<vector<pair<int, bool>>> &dp) { if (idx >= nums.size() || target < 0) return ...原创 2019-04-09 22:07:40 · 171 阅读 · 0 评论 -
剑指offer-链表的入环节点
//方法一:使用set,空间复杂度为O(N)class Solution {public: ListNode* EntryNodeOfLoop(ListNode* pHead) { if(pHead==NULL||pHead->next==NULL) return NULL; set<ListNode*>...原创 2019-01-22 23:07:26 · 315 阅读 · 0 评论 -
leetcode-206-反转链表1
//方法一:空间复杂度o(N)的方法class Solution {public: ListNode* reverseList(ListNode* head) { if(head==NULL||head->next==NULL) return head; stack<ListNode*> s;//利用堆栈 ...原创 2019-01-22 23:02:40 · 125 阅读 · 0 评论 -
leetcode-297. 二叉树的序列化与反序列化
思路:通过前序、后续、或者层次遍历二叉树,用一个字符串保存节点的值,要注意的是,每个节点的值之后要添加一个特殊符号(比如下划线)分隔,否则可能无法区分节点的值。 比如一个节点的值可能是12,不加下划线的话,反序列化时就分不清楚,12表示的是一个值为12的节点,或者两个节点,其值分别为1,2。split函数用来去除原来作为分割的符号,本文中用来去除下划线。总之:怎么...原创 2019-01-26 20:54:19 · 589 阅读 · 1 评论 -
leetcode-129. 求根到叶子节点数字之和
思路:用一个字符串记录节点的值,每次将节点的值添加到字符串的最后,当访问到叶子节点时,将路径和计入sum.回溯时,弹出最后的一个字符值即可。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right;...原创 2018-12-30 16:56:40 · 168 阅读 · 0 评论 -
leetcode-199. 二叉树的右视图
思路:打印每一层的最后一个节点即可。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NU...原创 2018-12-30 15:39:41 · 170 阅读 · 0 评论 -
leetcode-198. 打家劫舍
class Solution {public: int rob(vector<int>& nums) { if(nums.empty()) return 0; if(1==nums.size()) return nums[0]; size_t n=nums.size();...原创 2018-12-12 23:18:30 · 138 阅读 · 0 评论 -
leetcode-695-岛屿的最大面积
给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], [0,...原创 2018-11-18 22:02:22 · 219 阅读 · 0 评论 -
字符串排序
题目:https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584?tpId=37&tqId=21249&tPage=2&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking题目描述 解题思路:代码:#incl...原创 2018-09-23 21:43:17 · 118 阅读 · 0 评论 -
leetcode-946 验证栈序列
思路:用一个栈去模拟出入栈的过程 比如,当前pushed={1,2,3,4,5},popped={4,5,3,2,1}时,借助一个额外的栈s,置i=0,j=0(i指向pushed,j指向popped); popped[j]=4,所以先将,1,2,3压入栈s中,此时i指向了pushed中的4,j指向了popped中的4,它俩相同,所以可以不用入栈,相当于4入栈以后直接出栈了。此时...原创 2019-04-30 15:30:11 · 256 阅读 · 0 评论