概述
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
代码:
class ListNode(object): # 链表节点定义
def __init__(self, x):
self.val = x
self.next = None
class Solution(object): # 整体类似于头插法
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
p, rev = head, None # 让p指向该链表第一个节点,输出链表为None
while p:
rev, rev.next, p = p, rev, p.next # 头插法主体
‘’‘也以写成
temp = rev
rev = p
rev.next = temp
p = p.next
'''
return rev
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 x 和 y,计算它们之间的汉明距离。
注意:
0 ≤ x, y < 231.
示例:
输入: x = 1, y = 4
输出: 2
解释:
1 (0 0 0 1)
4 (0 1 0 0)
↑ ↑
上面的箭头指出了对应二进制位不同的位置。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/hamming-distance
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution(object):
def hammingDistance(self, x, y):
"""
:type x: int
:type y: int
:rtype: int
"""
return bin(x ^ y).count('1')
知识点:
- ^ (python 位异运算法) 对应同一位置,数字不同则为1 。
例如: 5^ 6,其实是101^110,结果是011.在本次计算汉明距离即是用到此运算符。 - &(python 位与运算法)对应同一位置,数字都为1才为1,其他情况都是0.
例如: 5^ 6,其实是101^110,结果100. - | (python 位或运算符)对应同一位置,数字有一个为1即为1.
例如: 5^ 6,其实是101^110,结果111.
最后
以上就是陶醉百褶裙为你收集整理的【leetcode hot 100】链表逆序、汉民距离、的全部内容,希望文章能够帮你解决【leetcode hot 100】链表逆序、汉民距离、所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复