Anwendung von Strings in Javascript (Code)
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"
Beispiel 2:
输入: "A man, a plan, a canal: Panama" 输出: "amanaP :lanac a ,nalp a ,nam A"
Implementierung von
/** * @param {string} s * @return {string} */ var reverseString = function(s) { return s.split('').reverse().join('') };
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
Beispiel 2:
输入: -123 输出: -321
Beispiel 3:
输入: 120 输出: 21
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('-'+(Math.abs(x)+'').split('').reverse().join('')) }else{ _num = Number(((x)+'').split('').reverse().join('')) } if(_num>_max || _num<_min){ return 0; }else{ return _num } };
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.
Fall 2:
s = "loveleetcode", 返回 2.
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 };
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. map
map
4. 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:
Beispiel 1:
输入: s = "anagram", t = "nagaram" 输出: true
Beispiel 2:
输入: s = "rat", t = "car" 输出: false
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; };
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
Beispiel 2:
输入: "race a car" 输出: false
Schema
/** * @param {string} s * @return {boolean} */ var isPalindrome = function(s) { var _s = s.replace(/[^a-z0-9]/gi,'').toLowerCase(); return _s.split('').reverse().join('') == _s };
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
Beispiel 2:
输入: " -42" 输出: -42 解释: 第一个非空白字符为 '-', 它是一个负号。 我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。
Beispiel 3:
输入: "4193 with words" 输出: 4193 解释: 转换截止于数字 '3' ,因为它的下一个字符不为数字。
Beispiel 4:
输入: "words and 987" 输出: 0 解释: 第一个非空字符是 'w', 但它不是数字或正、负号。 因此无法执行有效的转换。
Beispiel 5
输入: "-91283472332" 输出: -2147483648 解释: 数字 "-91283472332" 超过 32 位有符号整数范围。 因此返回 INT_MIN (−231) 。
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 } };
Kommentare
Dazu gibt es nichts zu sagen, beurteilen Sie die Grenze und dann
parseInt
7. 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
Beispiel 2:
输入: haystack = "aaaaa", needle = "bba" 输出: -1
Plan
/** * @param {string} haystack * @param {string} needle * @return {number} */ var strStr = function(haystack, needle) { return haystack.indexOf(needle) };
Kommentare
Es gibt nichts zu sagen, regelmäßig oder
kann realisiert werdenindexOf
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
1 被读作 "one 1" ("一个一") , 即 11。
11 被读作 "two 1s" ("两个一"), 即 21。
21 被读作 "one 2", "one 1" ("一个二" , "一个一") , 即 1211。
给定一个正整数 n ,输出报数序列的第 n 项。
注意:整数顺序将表示为一个字符串。
示例 1:
输入: 1 输出: "1"
示例 2:
输入: 4 输出: "1211"
方案
/** * @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 };
点评
我的想法是选出连续的同字符,然后把该字符串变成长度加字符,再拼回去
9. 最长公共前缀
说明
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""。
说明:
所有输入只包含小写字母 a-z 。
示例 1:
输入: ["flower","flow","flight"] 输出: "fl"
示例 2:
输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。
方案
/** * @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] || '' };
点评
想法是做一个公共前缀数组,遍历,如果有不满足的,就操作这个前缀数组,直到最后,剩下的就是满足的。取最大的一个。
相关推荐:
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

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

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

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

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
