Notizen zu Fragen zum Algorithmus-Bürsten – Tag 02 (LeetCode-Einführungsfragen)


Vorwort

Das Grundwissen ist im Grunde genommen abgeschlossen, und jetzt fange ich an, mich auf Algorithmusfragen zu spezialisieren. Ich beantworte jeden Tag ein paar Algorithmusfragen von Niuke, Likou und Collar. Natürlich fange ich von vorne an!

1. Thema 9: Palindromzahl

Themenanforderungen: Geben Sie eine Ganzzahl x an. Wenn x eine palindromische Ganzzahl ist, geben Sie true zurück; andernfalls geben Sie false zurück.
Eine palindromische Zahl ist eine ganze Zahl, die in Vorwärtsreihenfolge (von links nach rechts) und in Rückwärtsreihenfolge (von rechts nach links) dasselbe liest. Beispielsweise ist 121 ein Palindrom, 123 jedoch nicht.
Tatsächlich habe ich bei der Beantwortung dieser Frage noch viele Ideen: Konvertieren Sie zuerst die Zeichenfolge in ein Array und spleißen Sie sie nach dem Schneiden

Code wie folgt anzeigen:

 let isPalindrome = function (x) {
    
    
      let str = x;
			//先将整数x转为字符串,根据空格字符进行切割,反转数组后进行字符串的拼接
      let newStr = x.toString().split("").reverse().join('');
			// 进行判断,如果反转后的整数与之前的相同则返回true
      if (newStr == str) {
    
    
        return true;
      } else {
    
    
        return false;
      }
     // return newStr == str ? true : false//三元运算符
    };

2. Frage 7 Ganzzahlrotation

Die Ideen dieser beiden Fragen sind ähnlich, diese Frage muss jedoch in einen numerischen Typ umgewandelt werden

let reverse = function(x) {
    
    
				let arr = []; //一个数组
				let nums = x.toString(); //将x转换为一个字符串
				arr = parseInt(nums.split("").reverse().join(""));//将反转后的数组转化为数值型
				// 如果x是负数的话,对数组进行取反
				if(x < 0 ){
    
    
					arr = -arr;
				}
				//如果反转后的数组超过有符号位的32位则返回0
				return arr > 2147483647 || arr < -2147483648 ? 0 : arr;
			};

Zusammenfassen

Weitermachen!

おすすめ

転載: blog.csdn.net/weixin_45331887/article/details/118293261