LeetCode开心刷题四十五天——93. Restore IP Addresses 92. Reverse Linked List II
- Restore IP Addresses
Medium
780331FavoriteShare
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
Example:
Input: "25525511135"
Output: ["255.255.11.135", "255.255.111.35"]
BONUS:
1.Python中字符串比较大小,是迭代对比的,先比较第一个元素,看谁大就是谁
如果一样再比下一个,所以35比255大,但是1255比255小.如果想比较字符串数值大小
应该转化为int在其前方调用int()函数
2.地址不能以0开头比如00,02所以如果当前的前一个出现了0要直接舍弃
class Solution(object):
def restoreIpAddresses(self, s):
"""
:type s: str
:rtype: List[str]
"""
def dfs(s,sub,ips,ip):
if sub==4:
if s=='':
ips.append(ip[1:])
return
for i in range(1,4):
if i<=len(s):
if int(s[:i])<=255:
dfs(s[i:],sub+1,ips,ip+'.'+s[:i])
if s[0]=='0':break
ips=[]
dfs(s,0,ips,'')
return ips
solu=Solution()
s="25525511135"
print(solu.restoreIpAddresses(s))
- Reverse Linked List II
Medium
1463103FavoriteShare
Reverse a linked list from position m to n. Do it in one-pass.
Note: 1 ≤ m ≤ n ≤ length of list.
Example:
Input: 1->2->3->4->5->NULL, m = 2, n = 4
Output: 1->4->3->2->5->NULL
import collections
# from collections import Counter
# Definition for singly-linked list.
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
class Solution(object):
def reverseBetween(self,head,m,n):
if head==None or head.next==None:return head
# 遍历链表的题目中,虚拟节点是必须的,这样最后移动结束才能由它返回起始值
dummy=ListNode(0)
dummy.next=head
head1=dummy
# 遍历下标才是这种范围的range,计数就直接写一个迭代次数值
# 不同题目给的数字不同,有的需要减一才是下标有的可以直接来,这里需要减一
for i in range(m-1):
head1=head1.next
p=head1.next
for i in range(n-m):
# 链表题就是费指针,这个的核心转换思路是,把p开始指定后,每次p都会向后移位,head直接跟p后面的,p跟下下一个,head的下下一个是开始时,head后面的值
tmp=head1.next
head1.next=p.next
p.next=p.next.next
head1.next.next=tmp
return dummy.next
solu=Solution()
head=ListNode(1)
l2=ListNode(2)
l3=ListNode(3)
l4=ListNode(4)
l5=ListNode(5)
# l6=ListNode(2)
head.next=l2
l2.next=l3
l3.next=l4
l4.next=l5
# l5.next=l6
m=2
n=4
ans=solu.reverseBetween(head,m,n)
while True:
print(ans.val)
if not ans.next:
break
ans=ans.next
转载于//www.cnblogs.com/Marigolci/p/11555419.html
还没有评论,来说两句吧...