自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 leetcode 142.环形链表2

利用题141的代码,当快慢指针相遇时,将其中一个指针的位置重置为链表头,另一个指针的位置不变,可以证明,(链表头到入环点的距离)=(快慢指针相遇点到入环点的距离+整数个环的长度),基于此,使得接下来两个指针在每次迭代中后移一步,它们的再次相遇点就是入环点。 令链表头到入环点的距离为x1,入环点到相遇点的距离为x2,相遇点到入环点的距离为x3,有: 2(x1+x2)=x1+x2+k(x2+x3) -...

2018-09-27 17:18:50 144

原创 leetcode 120.三角形最小路径和

从上到下,将结点的值原地改写为顶点到达该点的最小路径和,在上一层结点最小路径和已确定的情况下,两边的点只有一种可能路径,其它点只有两种可能路径。 int minimumTotal(vector<vector<int>> &triangle) { int row = triangle.size(); if (row == 0) { return ...

2018-09-22 21:38:32 195

原创 leetcode 111.二叉树的最小深度

直接将maxDepth函数拿来使用时,实际上会考虑到空结点,若一个节点的一个子节点为空,另一个不为空,递归会提前返回,因此需要对子节点是否为空进行判断。 int minDepth(TreeNode *root) { if (root == nullptr) { return 0; } int left_path_depth = 1 + minDepth(root->...

2018-09-20 20:01:40 138

原创 leetcode 110.平衡二叉树

在第104题中,maxdepth函数实际上遍历了二叉树中每个节点的左右子树的高度,对其稍加修改,当检查到两子树高度差大于1时返回一个特定异常值即可。 bool isBalanced(TreeNode *root) { if (root == nullptr) { return true; } int a = maxDepth_extern(root); if (a =...

2018-09-20 19:49:42 136

原创 leetcode 108. 将有序数组转换为二叉搜索树

始终使用数组中间的数为父节点,两边的子数组构成两个子树。 TreeNode* sortedArrayToBST(vector<int> &nums) { int size_nums = nums.size(); if (size_nums == 0) { return nullptr; } if (size_nums == 1) { Tr...

2018-09-19 19:09:48 100

原创 leetcode 103.二叉树的锯齿形层次遍历

1.使用一个队列存储当前层的结点,弹出一个结点时向数组写入该节点的值,并使用另一个队列存储当前结点的子结点,在下一次迭代时使用。 2.每一层元素的出现顺序是相反的,父节点在一层里较先弹出,其子结点在一层里则较后弹出,因此先进入队列的结点后弹出。 3.一个结点的左右子结点进入队列的顺序应与父节点所在层的弹出顺序一致,当父节点所在层由左向右弹出时,左子结点应先进入队列,右子结点后进入队列,反之亦然。...

2018-09-18 21:47:13 477

原创 leetcode 102.二叉树的层次遍历

1.使用一个队列存储当前层的结点,弹出一个结点时向数组写入该节点的值,并使用另一个队列存储当前结点的子结点,在下一次迭代时使用。 2.每一层元素的出现顺序是一致的,父节点在一层里较先弹出,其子结点在一层里也较先弹出,因此先进入队列的结点先弹出。 vector<vector<int>> levelOrder(TreeNode *root) { if (root ==...

2018-09-18 21:36:04 104

原创 leetcode 101.对称二叉树

1.一个二叉树是对称的当且仅当根节点的左子树和右子树是镜像对称的。 2.两个二叉树镜像对称当且仅当一个二叉树的左子树与另一个二叉树的右子树镜像对称,同时该二叉树的右子树与另一二叉树的左子树镜像对称。 bool isSymmetric(TreeNode *root) { if (root == nullptr) { return true; } return isSymme...

2018-09-18 21:23:26 153

原创 LeetCode - 92. 反转链表

1.使用p1、p2两个指针,p1指针指向位置m-1(m=1时为特殊情况),p2指针指向当前修改箭头的母结点。 2.每次迭代中使用p2_pre、p2、p2_suc三个指针,p2_pre指向p2的母结点,p2_suc指向p2的子节点 欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Ma...

2018-09-16 21:49:41 122

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除