Inhaltsverzeichnis
1. Kehren Sie die Zeichenfolge um
Beschreibung
Beispiel 2:
Implementierung von
Kommentare
2. Ganzzahlen umkehren
Erklärung
Implementierung
3 Das erste eindeutige Zeichen in der Zeichenfolge
Fall 2:
Schreiben Sie bei zwei Zeichenketten s und t eine Funktion, um zu bestimmen, ob t ein Anagramm von s-Positionswörtern ist.
Schema
Hiermit wird gezählt und dann festgestellt, ob es so ist ist ein Element Alle die gleiche Menge.
Überprüfen Sie, ob es sich um eine Palindrom-Zeichenfolge handelt. Es werden nur alphabetische und numerische Zeichen berücksichtigt. Buchstaben können ignoriert werden. Groß- und Kleinschreibung.
Alle unnötigen Zeichen durch reguläre Ausdrücke löschen, konvertiert in Kleinbuchstaben umgewandelt, zum Vergleich umgedreht.
Erläuterung
Implementieren Sie atoi, um String in Ganzzahl umzuwandeln.
Dazu gibt es nichts zu sagen, beurteilen Sie die Grenze und dann
Gegeben eine Heuhaufenschnur und eine Nadelschnur, suchen Sie die erste Position (beginnend bei 0), an der die Nadelschnur in der Heuhaufenschnur erscheint. Wenn es nicht existiert, wird -1 zurückgegeben.
Plan
Es gibt nichts zu sagen, regelmäßig oder
Die Zählfolge bezieht sich auf eine Folge von ganzen Zahlen. Zählen Sie entsprechend der Reihenfolge der ganzen Zahlen Holen Sie sich die nächste Nummer. Die ersten fünf Elemente lauten wie folgt:
示例 2:
方案
点评
9. 最长公共前缀
说明
Heim Web-Frontend js-Tutorial Anwendung von Strings in Javascript (Code)

Anwendung von Strings in Javascript (Code)

Sep 07, 2018 pm 03:06 PM
javascript

Strings sind einer der wichtigsten Wissenspunkte in JavaScript. In diesem Artikel finden Sie viele Beispiele, mit denen Sie einen Blick darauf werfen und Ihre Fähigkeiten testen können.

Machen Sie sich mit der Verwendung der einzelnen APIs vertrauter. Im Folgenden finden Sie die Lösung für die leetcode-Frage (String-Entry-Fragengruppe) der Javascript-Version.

1. Kehren Sie die Zeichenfolge um

Beschreibung

Schreiben Sie eine Funktion, die die Eingabezeichenfolge umkehrt.

Beispiel 1:

输入: "hello"
输出: "olleh"
Nach dem Login kopieren

Beispiel 2:

输入: "A man, a plan, a canal: Panama"
输出: "amanaP :lanac a ,nalp a ,nam A"
Nach dem Login kopieren

Implementierung von

/**
 * @param {string} s
 * @return {string}
 */
var reverseString = function(s) {
    return s.split('').reverse().join('')
};
Nach dem Login kopieren

Kommentare

Gemeinsame Schreibmethoden, in Array konvertieren, umdrehen, zurückwechseln.

2. Ganzzahlen umkehren

Erklärung

Kehren Sie bei einer gegebenen 32-Bit-Ganzzahl die Ziffern in der Ganzzahl um.

Hinweis:
Angenommen, unsere Umgebung kann nur 32-Bit-Ganzzahlen mit Vorzeichen speichern, deren Wertebereich [−231, 231 − 1] ist. Unter dieser Annahme wird 0 zurückgegeben, wenn die umgekehrte Ganzzahl überläuft.

Beispiel 1:

输入: 123
输出: 321
Nach dem Login kopieren

Beispiel 2:

输入: -123
输出: -321
Nach dem Login kopieren

Beispiel 3:

输入: 120
输出: 21
Nach dem Login kopieren

Implementierung

/**
 * @param {number} x
 * @return {number}
 */
var _min = Math.pow(-2,31)
var _max = Math.pow(2,31)
var reverse = function(x) {
    var _num = null;
    if(x<0){
       _num =  Number(&#39;-&#39;+(Math.abs(x)+&#39;&#39;).split(&#39;&#39;).reverse().join(&#39;&#39;))
    }else{
       _num =  Number(((x)+&#39;&#39;).split(&#39;&#39;).reverse().join(&#39;&#39;))
    }
    if(_num>_max || _num<_min){
        return 0;   
    }else{
        return _num
    }
};
Nach dem Login kopieren

Kommentare

Es sieht nicht anders aus als bei der ersten Frage. In einen String konvertieren, umdrehen und in einen numerischen Wert umwandeln. Was gelöst werden muss, ist das Problem von außerhalb der Grenzen liegenden positiven und negativen Zahlen

3 Das erste eindeutige Zeichen in der Zeichenfolge

Erklärung

Gegeben a Zeichenfolge, finden Sie das erste sich nicht wiederholende Zeichen und geben Sie seinen Index zurück. Wenn es nicht existiert, wird -1 zurückgegeben.
Hinweis:
Sie können davon ausgehen, dass die Zeichenfolge nur Kleinbuchstaben enthält.

Fall 1:

s = "leetcode"
返回 0.
Nach dem Login kopieren

Fall 2:

s = "loveleetcode",
返回 2.
Nach dem Login kopieren

Implementierung

/**
 * @param {string} s
 * @return {number}
 */
var firstUniqChar = function(s) {
    for(var i = 0 ; i < s.length;i++){
        if(s.indexOf(s[i]) == s.lastIndexOf(s[i])){
           return i
        }
    }
    return -1
};
Nach dem Login kopieren

Kommentare

Die Lösung ist nicht sehr gut und wird führen Bei vielen Durchlaufzeiten besteht die Idee darin, vorwärts und rückwärts zu suchen. Dies beweist, dass es keine Wiederholung gibt. Der schnellste Weg besteht natürlich darin, die aktuelle Zeit in index zu speichern. dann zählen und dann
noch einmal durchqueren und es wird in Ordnung sein. mapmap4. Gültige Buchstabenanagramme

Erklärung

Schreiben Sie bei zwei Zeichenketten s und t eine Funktion, um zu bestimmen, ob t ein Anagramm von s-Positionswörtern ist.

Hinweis:

Sie können davon ausgehen, dass die Zeichenfolge nur Kleinbuchstaben enthält.


Erweitert:

Was passiert, wenn die Eingabezeichenfolge Unicode-Zeichen enthält? Können Sie Ihre Lösung an diese Situation anpassen?


Beispiel 1:

输入: s = "anagram", t = "nagaram"
输出: true
Nach dem Login kopieren

Beispiel 2:

输入: s = "rat", t = "car"
输出: false
Nach dem Login kopieren

Schema

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
    var _sArr = {};
    var _tArr = {};
    if(s.length != t.length) return false;
    for(var i = 0;i<s.length;i++){
        if(!_sArr[s[i]]) _sArr[s[i]] = 0;
        _sArr[s[i]]++          
        if(!_tArr[t[i]]) _tArr[t[i]] = 0;
        _tArr[t[i]]++                       
    }
    for(var i in _sArr){
        if(_sArr[i]!=_tArr[i]){
            return false;
        }
    }
        return true;
};
Nach dem Login kopieren

Kommentare

Hiermit wird gezählt und dann festgestellt, ob es so ist ist ein Element Alle die gleiche Menge.

5. Palindrom-Zeichenfolge überprüfen

Beschreibung

Überprüfen Sie, ob es sich um eine Palindrom-Zeichenfolge handelt. Es werden nur alphabetische und numerische Zeichen berücksichtigt. Buchstaben können ignoriert werden. Groß- und Kleinschreibung.

Erklärung:

In dieser Frage definieren wir die leere Zeichenfolge als gültige Palindromzeichenfolge.


Beispiel 1:

输入: "A man, a plan, a canal: Panama"
输出: true
Nach dem Login kopieren

Beispiel 2:

输入: "race a car"
输出: false
Nach dem Login kopieren

Schema

/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function(s) {
    var _s = s.replace(/[^a-z0-9]/gi,&#39;&#39;).toLowerCase();
    return _s.split(&#39;&#39;).reverse().join(&#39;&#39;) == _s
};
Nach dem Login kopieren

Kommentare

Alle unnötigen Zeichen durch reguläre Ausdrücke löschen, konvertiert in Kleinbuchstaben umgewandelt, zum Vergleich umgedreht.

6. String in Ganzzahl konvertieren (atoi)

Erläuterung

Implementieren Sie atoi, um String in Ganzzahl umzuwandeln.

Leerzeichen müssen aus der Zeichenfolge entfernt werden, bevor das erste nicht leere Zeichen gefunden wird. Wenn das erste Nicht-Null-Zeichen ein Plus- oder Minuszeichen ist, wählen Sie dieses Zeichen aus und kombinieren Sie es mit so vielen aufeinanderfolgenden Ziffern wie möglich. Dieser Teil des Zeichens ist der Wert der Ganzzahl. Wenn das erste Nicht-Null-Zeichen eine Zahl ist, wird es direkt mit nachfolgenden aufeinanderfolgenden numerischen Zeichen kombiniert, um eine Ganzzahl zu bilden.

Strings können nach den Zeichen, die die Ganzzahl bilden, zusätzliche Zeichen enthalten. Diese Zeichen können ignoriert werden und haben keine Auswirkung auf die Funktion.

Wenn die erste nicht leere Zeichenfolge keine gültige Ganzzahl ist oder die Zeichenfolge nur Leerzeichen enthält, wird keine Konvertierung durchgeführt.

Wenn die Funktion keine gültige Konvertierung durchführen kann, geben Sie 0 zurück.

Erklärung:

Angenommen, unsere Umgebung kann nur 32-Bit-Ganzzahlen mit Vorzeichen speichern, deren Wertebereich [−231, 231 − 1] ist. Wenn der Wert den darstellbaren Bereich überschreitet, wird INT_MAX (231 − 1) oder INT_MIN (−231) zurückgegeben.


Beispiel 1:

输入: "42"
输出: 42
Nach dem Login kopieren

Beispiel 2:

输入: "   -42"
输出: -42
解释: 第一个非空白字符为 &#39;-&#39;, 它是一个负号。
     我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。
Nach dem Login kopieren

Beispiel 3:

输入: "4193 with words"
输出: 4193
解释: 转换截止于数字 &#39;3&#39; ,因为它的下一个字符不为数字。
Nach dem Login kopieren

Beispiel 4:

输入: "words and 987"
输出: 0
解释: 第一个非空字符是 &#39;w&#39;, 但它不是数字或正、负号。
     因此无法执行有效的转换。
Nach dem Login kopieren

Beispiel 5

输入: "-91283472332"
输出: -2147483648
解释: 数字 "-91283472332" 超过 32 位有符号整数范围。 
     因此返回 INT_MIN (−231) 。
Nach dem Login kopieren

Schema

/**
 * @param {string} str
 * @return {number}
 */
var myAtoi = function(str) {
    var _num = parseInt(str) || 0
    if(_num < (Math.pow(-2,31))){
       return (Math.pow(-2,31))
    }else if(_num >= (Math.pow(2,31))){
       return (Math.pow(2,31)-1)
    }else{
        return _num
    }
};
Nach dem Login kopieren

Kommentare

Dazu gibt es nichts zu sagen, beurteilen Sie die Grenze und dann

parseInt7. Implementieren Sie strStr()

Beschreibung

Gegeben eine Heuhaufenschnur und eine Nadelschnur, suchen Sie die erste Position (beginnend bei 0), an der die Nadelschnur in der Heuhaufenschnur erscheint. Wenn es nicht existiert, wird -1 zurückgegeben.

Erklärung:

Welchen Wert sollten wir zurückgeben, wenn „nadel“ eine leere Zeichenfolge ist? Das ist eine gute Frage, die man in einem Vorstellungsgespräch stellen sollte.

Für diese Frage sollten wir 0 zurückgeben, wenn die Nadel eine leere Zeichenfolge ist. Dies steht im Einklang mit der Definition von strstr() in C und indexOf() in Java.

Beispiel 1:

输入: haystack = "hello", needle = "ll"
输出: 2
Nach dem Login kopieren

Beispiel 2:

输入: haystack = "aaaaa", needle = "bba"
输出: -1
Nach dem Login kopieren

Plan

/**
 * @param {string} haystack
 * @param {string} needle
 * @return {number}
 */
var strStr = function(haystack, needle) {
    return haystack.indexOf(needle)
};
Nach dem Login kopieren

Kommentare

Es gibt nichts zu sagen, regelmäßig oder

kann realisiert werden

indexOf 8. Zählen und sagen

Erklärung

Die Zählfolge bezieht sich auf eine Folge von ganzen Zahlen. Zählen Sie entsprechend der Reihenfolge der ganzen Zahlen Holen Sie sich die nächste Nummer. Die ersten fünf Elemente lauten wie folgt:

1.     1
2.     11
3.     21
4.     1211
5.     111221
Nach dem Login kopieren

1 被读作  "one 1"  ("一个一") , 即 11。
 11 被读作 "two 1s" ("两个一"), 即 21。
 21 被读作 "one 2",  "one 1" ("一个二" ,  "一个一") , 即 1211。

给定一个正整数 n ,输出报数序列的第 n 项。
 注意:整数顺序将表示为一个字符串。

示例 1:

输入: 1
输出: "1"
Nach dem Login kopieren

示例 2:

输入: 4
输出: "1211"
Nach dem Login kopieren

方案

/**
 * @param {number} n
 * @return {string}
 */
var countAndSay = function(n) {
    var _str = '1';
    for(var i=1;i<n;i++){
        _str = _str.match(/1+|2+|3+|4+|5+|6+|7+|8+|9+/g).map(v=>''+v.length+v[0]).join('');
    }
    return _str
};
Nach dem Login kopieren

点评

我的想法是选出连续的同字符,然后把该字符串变成长度加字符,再拼回去

9. 最长公共前缀

说明

编写一个函数来查找字符串数组中的最长公共前缀。
 如果不存在公共前缀,返回空字符串 ""。

说明:
 所有输入只包含小写字母 a-z 。

示例 1:

输入: ["flower","flow","flight"]
输出: "fl"
Nach dem Login kopieren

示例 2:

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
Nach dem Login kopieren

方案

/**
 * @param {string[]} strs
 * @return {string}
 */
var longestCommonPrefix = function(strs) {
    var _arr = (strs[0]||'').split('').map((v,i)=>strs[0].slice(0,i+1)).reverse();
    for(var i = 1;i<strs.length;i++){
        // if(_arr.length == 0) break;
        while(_arr.length){
            var _index = strs[i].indexOf(_arr[0]);
            if(_index != 0){
               _arr.shift()
            }else{
                break;
            }
        }
    }
    return _arr[0] || ''
};
Nach dem Login kopieren

点评

想法是做一个公共前缀数组,遍历,如果有不满足的,就操作这个前缀数组,直到最后,剩下的就是满足的。取最大的一个。

相关推荐:

JavaScript中的字符串操作

JavaScript计算字符串中每个字符出现的次数

Das obige ist der detaillierte Inhalt vonAnwendung von Strings in Javascript (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript Dec 17, 2023 pm 02:54 PM

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Dec 17, 2023 pm 12:09 PM

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript Dec 17, 2023 am 09:39 AM

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

So verwenden Sie insertBefore in Javascript So verwenden Sie insertBefore in Javascript Nov 24, 2023 am 11:56 AM

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript Jan 05, 2024 pm 01:37 PM

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

See all articles