Leetcode
Y—X
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode___只出现一次的数字Ⅰ和Ⅱ
解题思路: 由于题目已告知数组是整数数组且是非空的,只有某个元素只出现一次,其它元素均出现两次。我们自然而然地会相到位运算中的“异或”,两个相同的数字异或的结果为 0,由于数组中其它元素均出现两次,只有一个元素出现一次,所以可以遍历整个数组,让所有数组元素异或,得到的结果就是只出现一次的那个元素。 说明:a ^ a = 0; 0 ^ a = a 代码示例: class Solution { public: int singleNumber(vector<int>& nums.原创 2021-04-03 19:12:07 · 194 阅读 · 0 评论 -
260. 只出现一次的数字 III
题目: 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 方法一:分组异或 先对所有数字进行一次异或,得到两个出现一次的数字的异或值。 在异或结果中找到任意为 1 的位。 根据这一位对所有的数字进行分组。 在每个组内进行异或操作,得到两个数字。 class Solution { public: vector<int> singleNumber(vector<int>&原创 2021-04-02 14:12:17 · 172 阅读 · 0 评论 -
剑指 Offer 28. 对称的二叉树
对称的二叉树 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ boo原创 2021-03-15 21:42:08 · 114 阅读 · 0 评论 -
Leetcode第138题——复制带随机指针的链表
题目分析: 这道题要我们拷贝一个链表并返回拷贝链表的头节点。我们画图来分析 思路: 1.如图所示我们拷贝每一个节点,并连接到原节点的后面 //1.拷贝节点,连接到每一个原节点的后边 struct Node* cur = head; while(cur) { struct Node* copy = (struct Node*)malloc(sizeof(struct Node)); copy->next = NULL; copy-&g..原创 2020-12-30 14:23:52 · 476 阅读 · 0 评论 -
Leetcode第142题——环形链表2
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。 说明:不允许修改给定的链表。 解题思路: 1.使用快慢指针判断有无环:让慢指针每次走一步,快指针每次走俩步。 不理解为什么快慢指针可以来判断有无环的可以看上一篇博客: 环形链表1 slow = slow->原创 2020-12-26 14:13:40 · 2424 阅读 · 6 评论 -
Leetcode第141题——环形链表1
给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 如果链表中存在环,则返回 true 。 否则,返回 false 。 解题思路: 1.我们创建俩个指针:快指针fast , 慢指针slow。 2.让慢指针每次走一步,快指针每次走俩步原创 2020-12-25 23:17:08 · 538 阅读 · 5 评论
分享