Sitio web de preguntas de pincel: Leetcode
Dificultad: fácil
Idioma: pitón
Plan : De fácil -> a medio -> a difícil.
1. 344 cuerda inversa
1.1 Asunto:
Escriba una función que invierta la cadena de entrada. La cadena de entrada s
se .
No asigne espacio adicional a otra matriz, debe solucionar el problema modificando la matriz de entrada en su lugar, utilizando O(1)
el espacio adicional.
- Ejemplo 1
输入:s = ["h","e","l","l","o"]
输出:["o","l","l","e","h"]
- Ejemplo 2
输入:s = ["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]
1.2 Pensamiento y análisis:
Esta pregunta es diferente a la anterior, que consiste en ingresar una matriz de caracteres, pero la práctica es la misma.
Por convención, debe usar punteros dobles para encontrar, simplemente intercambie los caracteres más a la izquierda y más a la derecha, este problema es relativamente simple.
El código completo es el siguiente:
class Solution:
def reverseString(self, s: List[str]) -> None:
"""
Do not return anything, modify s in-place instead.
"""
left = 0
right = len(s)-1
while left<right:
a = s[right]
s[right] = s[left]
s[left] = a
right-=1
left+=1
El resultado de la ejecución muestra que supera al 67,76% de los usuarios.
1.3 Resumen
Esta pregunta se siente como un simple problema de dos puntos. Después de hacer los ejercicios anteriores, completé este problema de una sola vez y lo hice en menos de unos minutos. Espero ser tan bueno cuando encuentre problemas en el futuro, jajaja.