zoukankan      html  css  js  c++  java
  • Confirm the Ending(算法)

    题目

    检查一个字符串(str)是否以指定的字符串(target)结尾。

    如果是,返回true;如果不是,返回false。

    提示

    String.substr()

    思路

    我们来看看  substr() 的用法。 

    语法:

    str.substr(start[, length])

    start 是一个字符的索引。首字符的索引为 0,最后一个字符的索引为 字符串的长度减去1。substr 从 start 位置开始提取字符,提取 length 个字符(或直到字符串的末尾)。

    如果 start 为正值,且大于或等于字符串的长度,则 substr 返回一个空字符串。

    如果 start 为负值,则 substr 把它作为从字符串末尾开始的一个字符索引。如果 start 为负值且 abs(start) 大于字符串的长度,则 substr 使用 0 作为开始提取的索引。注意负的 start 参数不被 Microsoft JScript 所支持。

    这道题目使用  substr() 的负参数运用可解决。 

    解法

    function confirmEnding(str, target) {
      // "Never give up and good luck will find you."
      return str.substr(-target.length,target.length) === target;
    }

    测试

    confirmEnding("Bastian", "n") 应该返回 true. 

    confirmEnding("Connor", "n") 应该返回 false. 

    confirmEnding("Walking on water and developing software from a specification are easy if both are frozen", "specification") 应该返回 false. 

    confirmEnding("He has to give me a new name", "name") 应该返回 true. 

    confirmEnding("He has to give me a new name", "me") 应该返回 true. 

    confirmEnding("He has to give me a new name", "na") 应该返回 false. 

    confirmEnding("If you want to save our world, you must hurry. We dont know how much longer we can withstand the nothing", "mountain") 应该返回 false.

  • 相关阅读:
    Luogu3118:[USACO15JAN]Moovie Mooving
    Luogu4137:Rmq Problem/mex
    Luogu3092:[USACO13NOV]No Change
    BZOJ4321: queue2
    BZOJ4650 : [NOI2016]优秀的拆分
    webpack
    sublime eslint setup
    Sublime themes/ lint themes setup
    sublime text 3
    React
  • 原文地址:https://www.cnblogs.com/codepen2010/p/6812571.html
Copyright © 2011-2022 走看看