C语言-Leetcode1071(slice)

C语言-Leetcode1071(slice)

题目地址:https://leetcode-cn.com/problems/greatest-common-divisor-of-strings/

思路:辗转相除法

代码:

/**
 * @param {string} str1
 * @param {string} str2
 * @return {string}
 */
var gcdOfStrings = function(str1, str2) {
  let str1Add = str1 + str2
  let str2Add = str2 + str1
  var gcd = function(a, b) {
    return b == 0 ? a : gcd(b, a % b)
  }
  if (str1Add == str2Add) {
    let len = gcd(str1.length, str2.length)
    return str1.slice(0, len)
  } else {
    return ‘‘
  }
}

收获:

stringObject.slice(start,end)返回一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
stringObject.substring(start,stop)返回一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

相关推荐