Leetcode
bryant-xw
Stay hungry, Stay foolish
展开
-
【LeetCode 2】两数相加
题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 ->...原创 2019-03-25 22:35:32 · 124 阅读 · 0 评论 -
【LeetCode 236】二叉树的最近公共祖先
Code递归的去遍历左右子树是否包含要查找的节点/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), rig...原创 2019-09-03 13:19:40 · 146 阅读 · 0 评论 -
【LeetCode 235】二叉搜索树的最近公共祖先
Code利用BST的特性,某一个节点的值必定比其左子树的值大,比其右子树的值小所以比较当前节点的值和给定的两个节点值大小,若都大于则到左子树寻找,否则去右子树寻找。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNo...原创 2019-09-03 09:30:15 · 123 阅读 · 0 评论 -
【LeetCode 83】删除排序链表中的重复元素
题目Code方法1:利用STL容器set来去重,之后将值赋回给原链表踩坑:最后一个节点的边界注意,否则会多链接一个原链表后面的节点 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2019071722364252.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,...原创 2019-07-17 22:48:58 · 89 阅读 · 0 评论 -
【LeetCode 876】链表的中间结点
题目给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。 注意,我们返回了一个 ListNode 类型的对象 ans,这样: ans.val = 3, ...原创 2019-07-17 21:47:09 · 64 阅读 · 0 评论 -
【LeetCode 19】删除链表的倒数第N个节点
笔记题目要求删除倒数第N个节点,定义一个临时变量来从头遍历,每走1步,N--,最后判读N的值, (1)N > 0: 则不用调整链表,直接将头节点返回 (2)N == 0: 表示头节点就是倒数第N个节点,即链表长度等于N (3)N < 0: 重新从头节点开始走,每移动1步,n++。 当n为0的时候移动停止,此时的cur指向的是第倒数N+1个节点...原创 2019-07-16 22:50:09 · 73 阅读 · 0 评论 -
【LeetCode 203】移除链表元素
题目:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5笔记解析刷题就TMD是个踩坑的过程,闪一下子却很舒服,因为会有成长~坑点:(1)注意有多个要删除的节点链接 解法:将三种类别分开讨论,只要是cur->...原创 2019-07-18 23:41:02 · 159 阅读 · 0 评论 -
【LeetCode 160】相交链表
题目:编写一个程序,找到两个单链表相交的起始节点。链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/Code:既然是相交的链表则说明必然最后一个节点的地址是相同的。所以先遍历一遍判断尾节点是否一致,最后看哪个链表长,就让其指针先走多出来的长度,然后一起走,地址相同的时候就是相交节点/** ...原创 2019-07-18 22:58:24 · 85 阅读 · 0 评论 -
【LeetCode 237】删除链表中的节点
题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2...原创 2019-07-16 08:30:42 · 67 阅读 · 0 评论 -
【LeetCode 148】 排序链表
要求:在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。解法:对链表进行快速排序code/** * Definition for singly-linked list.{ * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), nex...原创 2019-07-11 11:32:56 · 68 阅读 · 0 评论 -
【LeetCode 18】四数之和
方法1:首先使用一下系统的sort函数排序,平均时间复杂度在O(n*logn)之后遍历这个数组,避免终极暴力,所以可以在确定前两个数后利用双指针来判断如果sum太大,则R–,否则L++题目要求不允许有重复的结果,可以利用set容器进行去重,最后返回结果即可感觉耗时还是有点多class Solution {public: vector< vector<int>...原创 2019-05-20 14:47:20 · 110 阅读 · 0 评论 -
【LeetCode 21】合并两个有序链表
题目链接代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: L...原创 2019-05-14 22:01:31 · 84 阅读 · 0 评论 -
【LeetCode 1】两数之和
题目链接要求将给定数组中的任意两个数的和为target,则将这两个数的下标返回代码class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int size = nums.size(); vector<i...原创 2019-04-29 22:25:04 · 85 阅读 · 0 评论 -
【LeetCode 8】字符串转换整数 (atoi)
题目描述要求手动实现系统函数atoi的功能注意的条件:(1)空串(2)不合法的字符串,比如"words and 987" "+-12" "+ 32" “ ”等ps: 确实如dalao所讲,所有的坑只有自己踩进去才会想到代码#include<iostream>#include<cstdio>#include<cmath>...原创 2019-04-28 22:48:42 · 151 阅读 · 0 评论 -
【LeetCode 231】:判断一个数是否是2的幂次
1、题目链接:Leetcode2312、题解:利用位运算符&具体的解释可以看我之前的一篇博客:C语言中的逻辑运算符、位运算符及其应用技巧3、代码:class Solution {public: bool isPowerOfTwo(int n) { if(n <= 0) return false; //在此处一定要注意非正数的判断 ...原创 2019-03-19 16:43:58 · 87 阅读 · 0 评论 -
【LeetCode 292】Bash博弈
题目链接:https://leetcode-cn.com/problems/nim-game/题解:Bash博弈,只需判断给定的总数n和m+1的关系,此题中m为3 n % (m+1) 是否为0,如果是0,先手必然输代码:class Solution {public: bool canWinNim(int n) { if(n % 4 == 0) ...原创 2019-03-19 20:40:27 · 195 阅读 · 0 评论 -
【LeetCode 572】另一个树的子树
区分树的子结构【不能序列化】、树的子树【可以序列化】我刚开始的时候只注意了序列化的时候把节点后加特殊符号分开,却忽略了根节点处的问题比如母树只有根节点12,子树只有一个节点2。如果不处理根节点则序列化后s1:12_#_#_s2:2_#_#_明明应该是输出false却变成了true所以要在根节点前加一个特殊符号做出节点分割,保证每个节点前后都独立,就可以通过~/** * Defin...原创 2019-09-05 23:54:27 · 224 阅读 · 0 评论