Datawhole第十一天打卡

第一题:只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

说明

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

示例 1:

输入: [2,2,1]输出:1

示例 2:

输入: [4,1,2,1,2]输出:4

public class Solution

{

    public int SingleNumber(int[] nums)

    {

        HashSet<int> h = new HashSet<int>();

        for (int i = 0; i < nums.Length; i++)

        {

            if (h.Contains(nums[i]))

            {

                h.Remove(nums[i]);

            }

            else

            {

                h.Add(nums[i]);

            }

        }

        return h.ElementAt(0);

    }

}

第二题:环形链表

给定一个链表,判断链表中是否有环。

为了表示给定链表中的环,我们使用整数pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是 -1,则在该链表中没有环。

示例 1:

输入:head = [3,2,0,-4], pos = 1

输出:true

解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0

输出:true

解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:

输入:head = [1], pos = -1

输出:false

解释:链表中没有环。

public class Solution {

    public bool HasCycle(ListNode head)

    {

        HashSet<ListNode> h = new HashSet<ListNode>();

        ListNode temp = head;

        while (temp != null)

        {           

            if (h.Contains(temp))

                return true;

            h.Add(temp);

            temp = temp.next;

        }

        return false;       

    }

}

第三题:142 环形链表 II

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。

为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。

说明:不允许修改给定的链表。

示例 1:

输入:head = [3,2,0,-4], pos = 1

输出:tail connects to node index 1

解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0

输出:tail connects to node index 0

解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:

输入:head = [1], pos = -1

输出:no cycle

解释:链表中没有环。

public class Solution

{

    public ListNode DetectCycle(ListNode head)

    {

        HashSet<ListNode> h = new HashSet<ListNode>();

        ListNode temp = head;

        while (temp != null)

        {           

            if (h.Contains(temp))

                return temp;

            h.Add(temp);

            temp = temp.next;

        }

        return null; 

    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容