[LeetCode]92 反转链表II

题目描述

反转从位置 mn 的链表。请使用一趟扫描完成反转。

说明:
1 ≤ mn ≤ 链表长度。

示例:

输入: 1->2->3->4->5->NULL, m = 2, n = 4
输出: 1->4->3->2->5->NULL

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution:
def numDecodings(self, s):
"""
:type s: str
:rtype: int
"""
if not s:
return 0
dp = [0 for _ in range(len(s) + 1)]
dp[0] = 1
for i in range(1, len(s) + 1):
if s[i - 1] != '0':
dp[i] += dp[i - 1]
if i != 1 and int(s[i - 2:i]) > 9 and int(s[i - 2:i]) < 27:
dp[i] += dp[i - 2]
return dp[len(s)]