[LeetCode]Power of Two

题目描述:

Given an integer, write a function to determine if it is a power of two.

题目大意:

给定一个整数,编写函数判断它是否是2的幂。

解题思路:

如果一个整数是2的幂,那么它的二进制形式最高位为1,其余各位为0

等价于:n & (n - 1) = 0,且n > 0

Python代码:

class Solution:
    # @param {integer} n
    # @return {boolean ...

继续阅读

[LeetCode]Linked List Cycle

题目描述:

Given a linked list, determine if it has a cycle in it.

Follow up:

Can you solve it without using extra space?

题目大意:

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

进一步思考:

你可以在不使用额外空间的条件下完成本题吗?

解题思路:

使用“快慢指针”法即可

fast指针每次向前运动两个节点,slow指针每次向前运动一个节点

如果fast和slow在链表的某处相遇,则说明链表中有环

Python代码(快慢指针):

# Definition for singly-linked list ...

继续阅读