Coding Practice

本章主要学习如何透过演算法学习训练思考


Palindrome BigO(n)

检查是否reverse也是相同的
EX: anna = anna

function Palindrome(str){    let left = 0    let right = str.length -1        while(left <= right){        if(str[left] === str[right]){            left++            right--        }else{            return false        }    }return true}console.log(Palindrome('hcco')) //false

Subsequence

检查是否为子序列

function subsequence(str1, str2){ //str1为原始序列, str2为子序列    if(str1.length == 0 ){        return true    }    let pointer1 = 0 //设置两个指标,逐一比对    let pointer2 = 0    while(str2.length > pointer2){        if(str1[pointer1] == str2[pointer2]){ //若str1 == str2 str1[pointer] ++ 继续比对            pointer1++        }        if(pointer1 >= str1.length){            return true //如果pointer已经 == str1长度 代表都符合 即回传true        }        pointer2++ //每次执行都要比对str2[pointer] 所以++    }return false ///若都不符合即回传false}console.log(subsequence("hello", "hssello")) //trueconsole.log(subsequence("hello", "ehllo"))  //false

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章