LeetCode每日一题
题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例 1:
输入: “babad”
输出: “bab”
注意: “aba” 也是一个有效答案。
示例 2:
输入: “cbbd”
输出: “bb”
var longestPalindrome = function(s) {
var nowString = '';//用来存放当前字符串
var longString = '';//用来存放最长的字符串
function isTrue (string) {//判断是否为回文字符串
let flag = true;
for(let i in string){
if(string[i] != string[string.length-1-i]){
flag = false;
}
}
return flag;
}
if(s.length==1){//字符串只有一位时
longString = s;
}else{
for(let i = 0;i < s.length;i++){
for(let j = i+1;j<s.length;j++){
if(s[i]==s[j]){
nowString = s.substring(i,j+1);
if(isTrue(nowString)&&nowString.length>longString.length){
longString = nowString;
}
}else{
nowString = s[i];
if(nowString.length>longString.length){
longString = nowString;
}
}
}
}
}
return longString;
};
解题思路:
因为是回文字符串所以左右对称肯定要有数相同,所以两个循环截取两个相同字符串中间的全部字符,然后判断是否为回文字符串。
VUE学习
图片路径引用问题
<img slot="tagimg" src="./assets/img/home.png" alt="">
这样引用的话太长了可以使用别名
先在webpack.base.conf.js中修改
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'@': resolve('src'),
}
},
在alias属性中添加需要的别名如
alias: {
'@': resolve('src'),
'assets': resolve('src/assets')//添加了assets别名代表路径src/assets
}
//在src中使用要加上~
<img slot="tagimg" src="~assets/img/home.png" alt="">
<img slot="activeimg" src="~assets/img/active.png" alt="">
//在js中用import导入用到时直接使用即可
import tagbar from 'components/tagbar/Tagbar'
import tagbaritem from 'components/tagbar/Tagbaritem'
Promise
new Promise((resolve,reject) => {//resolve成功请求返回回调的方法,reject失败时回调的方法
setTimeout(()=>{
resolve('第一次请求')//可以将参数传递给then方法,在then方法里面进行处理数据
},1000)
}).then(data => {
console.log(data)
return "第二次请求"
}).then(data=>{
console.log(data)
})
Promise.all()
当一个功能需要两个请求去请求数据,但是你不知道他们两个什么时候完成时,可以使用Promise.all()方法
Promise.all([
new Promise(resolve => {
setTimeout(()=>{
resolve('第一个数据')
},1000)
}),
new Promise(resolve => {
setTimeout(()=>{
resolve('第二个数据')
},2000)
})
]).then(results => {
console.log(results[0])
console.log(results[1])
})
当请求的数据都完成时会进入then方法然后在处理数据