给定一个字符串S和一个整数N ,任务是从字符串S的末尾删除N 个字符。
Input: S = “GeeksForGeeks”, N = 5
Output: GeeksFor
Explanation: Removing the last 5 characters from “GeeksForGeeks” modifies the string to “GeeksFor”.
Input: S = “Welcome”, N = 3
Output: Welc
方法一:按照以下步骤解决问题:
- 初始化一个空字符串,比如res,来存储结果字符串。
- 迭代字符串S的字符,直到索引len (S) – N 。
- 继续将遇到的字符插入res 。
下面是上述方法的实现:
Python3
# Python3 code for the above approach
# Function to remove last N
# characters from string
def removeLastN(S, N):
# Stores the resultant string
res = ''
# Traverse the string
for i in range(len(S)-N):
# Insert current character
res += S[i]
# Return the string
return res
# Driver Code
# Input
S = "GeeksForGeeks"
N = 5
print(removeLastN(S, N))
Python3
# Python3 code for the above approach
# Function to remove last N
# characters from string S
def removeLastN(S, N):
# Stores resultant string
res = ''
# Reversing S
S = S[::-1]
# Removing last N characters
res = S.replace(S[:N], '', 1)
# Reversing back res
res = res[::-1]
# Return the string
return res
# Driver Code
# Input
S = "GeeksForGeeks"
N = 5
print(removeLastN(S, N))
Python3
# Python3 code for the above approach
# Function to remove last N
# characters from string S
def removeLastN(S, N):
S = S[:len(S)-N]
# Return the string
return S
# Driver Code
# Input
S = "GeeksForGeeks"
N = 5
print(removeLastN(S, N))
输出:
GeeksFor
时间复杂度: O(N),其中 N 是字符串的长度。
辅助空间: O(N)
方法二:这个问题可以用replace()解决。请按照以下步骤解决问题:
- 初始化一个字符串,比如res,以存储结果字符串。
- 反转字符串S 。
- 使用 replace() 方法,删除S的前N 个字符的第一次出现并将其存储在res 中。
- 反转字符串res 。
下面是上述方法的实现:
蟒蛇3
# Python3 code for the above approach
# Function to remove last N
# characters from string S
def removeLastN(S, N):
# Stores resultant string
res = ''
# Reversing S
S = S[::-1]
# Removing last N characters
res = S.replace(S[:N], '', 1)
# Reversing back res
res = res[::-1]
# Return the string
return res
# Driver Code
# Input
S = "GeeksForGeeks"
N = 5
print(removeLastN(S, N))
输出:
GeeksFor
时间复杂度: O(N),其中 N 是字符串的长度。
辅助空间: O(N)
基于字符串切片的方法:按照以下步骤解决问题:
- 初始化一个字符串,比如res ,以存储结果字符串。
- 将res更新为S[:len(S) – N],以存储除S的最后N 个字符之外的所有字符。
下面是上述方法的实现:
蟒蛇3
# Python3 code for the above approach
# Function to remove last N
# characters from string S
def removeLastN(S, N):
S = S[:len(S)-N]
# Return the string
return S
# Driver Code
# Input
S = "GeeksForGeeks"
N = 5
print(removeLastN(S, N))
输出:
GeeksFor
时间复杂度: O(N),其中 N 是字符串的长度。
辅助空间: O(1)
如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live