2016年4月
ldon
这个作者很懒,什么都没留下…
展开
-
leetcode笔记—二进制数中1的个数
基本思想:x=x&(x-1)可以消除x最右边的1;1.给出一个32位的二进制数,统计其中1的个数class Solution {public: int hammingWeight(uint32_t n) { //n=n&(n-1)可以消去最右边的1 int res=0; while(n) {转载 2016-04-26 21:46:16 · 1582 阅读 · 0 评论 -
leetcode笔记—判断查找二叉树
首先说明一下二叉树和二叉搜索树的区别。二叉树指这样的树结构,它的每个结点的孩子数目最多为2个;二叉搜索树是一种二叉树,但是它有附加的一些约束条件,这些约束条件必须对每个结点都成立:结点node的左子树所有结点的值都小于node的值。结点node的右子树所有结点的值都大于node的值。结点node的左右子树同样都必须是二叉搜索树。假定当前结点值为k。对于二叉树中每个结点,判断其左孩子原创 2016-04-20 09:52:04 · 921 阅读 · 0 评论 -
数据结构—排序
1.希尔排序 shellsort增量序列d = {n/2 ,n/4, n/8 .....1} n为要排序数的个数void ShellInsertSort(int a[], int n, int dk) //n个要排序的数,dk是增量{ for(int i= dk; i<n; ++i){ if(a[i] < a[i-dk]){原创 2016-04-21 15:29:06 · 274 阅读 · 0 评论 -
leetcode—图的遍历
1、图的克隆,利用散列/** * Definition for undirected graph. * struct UndirectedGraphNode { * int label; * vector neighbors; * UndirectedGraphNode(int x) : label(x) {}; * }; */class Solution原创 2016-04-20 08:44:32 · 882 阅读 · 0 评论 -
leetcode-构造二叉树
1.由前序遍历和中序遍历构造二叉树/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL)原创 2016-04-13 19:34:31 · 624 阅读 · 0 评论 -
leetcode笔记-Path Sum
class Solution {public: bool hasPathSum(TreeNode* root, int sum) { if(root==NULL) return false; if(root->val==sum&&root->left==NULL&&root->right==NULL) return true; return原创 2016-04-12 20:16:04 · 485 阅读 · 0 评论 -
Leetcode笔记—最大路径和
public: int maxPathSum(TreeNode* root) { int maxsum=INT_MIN; dfs(root,maxsum); return maxsum; } int dfs(TreeNode* root,int& maxsum) { if(root==NULL) ret原创 2016-04-12 17:34:14 · 722 阅读 · 0 评论 -
leetcode笔记-Kth Smallest Element in a BST
思路:定义一个中序遍历的函数,调用中序遍历将各个节点都存在VECTOR中,其中的数是从小到大的排列的,再取第K个最小的值/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeN原创 2016-04-11 18:34:46 · 455 阅读 · 0 评论 -
leetcode笔记-层序遍历
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * } */class原创 2016-04-10 19:56:01 · 962 阅读 · 0 评论 -
leetcode笔记-zigzag层序遍历
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */clas原创 2016-04-10 16:48:33 · 542 阅读 · 0 评论 -
Leecode笔记-中序遍历
/**中序遍历 * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */原创 2016-04-10 15:23:00 · 478 阅读 · 0 评论 -
Leetcode-关于二叉树的对称性
二叉树的镜像对称问题,是一个easy的题/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NUL原创 2016-04-14 20:04:28 · 716 阅读 · 0 评论