Registro de cepillado Leetcode (8): 344 cadena inversa

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 sse .

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.
inserte la descripción de la imagen aquí

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.

Supongo que te gusta

Origin blog.csdn.net/A33280000f/article/details/121221453
Recomendado
Clasificación