反转一个3位整数
反转一个只有3位数的整数。
注意事项
你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000。
样例
123
反转之后是 321
。900
反转之后是 9
。
class Solution:
"""
@param number: A 3-digit number.
@return: Reversed number.
"""
def reverseInteger(self, number):
#number1=int(number/100)
#number2=int(number/10%10)
#number3=int(number%10)
#return number3*100+number2*10+number1;
# write your code here
#这里我们用python的列表和字符串的相互转换来实现
number=list(reversed(list(str(number))))
number=int("".join(list(number)))
return number
#还有个更简单的切片操作
#number=str(number)
#number=number[::-1]
#return(int(number))
大小写转换
将一个字符由小写字母转换为大写字母
样例
a
-> A
b
-> B
class Solution:
"""
@param character: a character
@return: a character
"""
def lowercaseToUppercase(self, character):
character=str(character.upper())
return character
# write your code here
斐波纳契数列
查找斐波纳契数列中第 N 个数。
所谓的斐波纳契数列是指:
- 前2个数是 0 和 1 。
- 第 i 个数是第 i-1 个数和第i-2 个数的和。
斐波纳契数列的前10个数字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 ...
class Solution:
"""
@param n: an integer
@return: an ineger f(n)
"""
def fibonacci(self, n):
lis=[0,1]
i=2
while i<n:
lis.append(lis[-2]+lis[-1])
i +=1
return lis[n-1]
# write your code here
删除链表中的元素
删除链表中等于给定值val
的所有节点。
样例
给出链表 1->2->3->3->4->5->3
, 和 val = 3
, 你需要返回删除3之后的链表:1->2->4->5
。
"""
Definition of ListNode
class ListNode(object):
def __init__(self, val, next=None):
self.val = val
self.next = next
"""
class Solution:
"""
@param head: a ListNode
@param val: An integer
@return: a ListNode
"""
def removeElements(self, head, val):
if head==None:
return None
while head.val==val:
head=head.next
if(head==None):
return None
pre=head
while pre.next is not None:
if pre.next.val==val:
pre.next=pre.next.next
矩阵面积
实现一个矩阵类Rectangle
,包含如下的一些成员变量与函数:
- 两个共有的成员变量
width
和height
分别代表宽度和高度。 - 一个构造函数,接受2个参数 width 和 height 来设定矩阵的宽度和高度。
- 一个成员函数
getArea
,返回这个矩阵的面积。
class Rectangle:
'''
* Define a constructor which expects two parameters width and height here.
'''
# write your code here
def __init__(self,width,height):
self.width=width
self.height=height
'''
* Define a public method `getArea` which can calculate the area of the
* rectangle and return.
'''
# write your code here
def getArea(self):
return self.width*self.height
整数排序
给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。
样例
对于数组 [3, 2, 1, 4, 5]
, 排序后为:[1, 2, 3, 4, 5]
。
class Solution:
"""
@param A: an integer array
@return: nothing
"""
def sortIntegers(self, A):
return A.sort()
# write your code here