11 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
# -*- coding:utf-8 -*- class Solution: def NumberOf1(self, n): # write code here # count = 0 # while (n & 0xffffffff) != 0: # count += 1 # n = n & (n - 1) # return count if n>=0: return bin(n).count('1') else: return bin(n&0xffffffff).count('1')12给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
# -*- coding:utf-8 -*- class Solution: def Power(self, base, exponent): if base==0: return 0 if exponent==0: return 1 else: return base**exponent13输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
# -*- coding:utf-8 -*- class Solution: def reOrderArray(self, array): # write code here l=[] for i in range(len(array)): if array[i]%2!=0: l.append(array[i]) for i in range(len(array)): if array[i]%2==0: l.append(array[i]) return l14输入一个链表,输出该链表中倒数第k个结点。
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def FindKthToTail(self, head, k): # write code here l=[] while head!=None: l.append(head) head=head.next if k>len(l) or k<1: return else: return l[-k]15输入一个链表,反转链表后,输出新链表的表头。
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNode def ReverseList(self, pHead): # write code here previous=None cur=pHead while cur: nextNode=cur.next cur.next=previous previous=cur cur=nextNode return previous