Python必须掌握的200道面试题

基础笔试题

基础算法题

首页 > Python必须掌握的200道面试题 > 基础算法题 > 1.1节:比较两个字符串的大小

1.1节:比较两个字符串的大小

薯条老师 2020-08-25 16:37:29 234983 0

编辑 收藏

教程引言:

荟萃经典的Python面试题,包括但不限于基础知识,高阶知识,算法,以及开放性回答等必考的面试题。

算法思路

(1) 计算字符串str1与str2的最短长度,假设为n, 只需在循环中遍历n次。

(2) 在循环中逐字符比较,以字符的先后大小关系确定字符串str1与字符串str2的大小关系

(3) 循环正常退出,再以字符串的长度大小来确定字符串的大小关系

代码实现

def strcmp(str1,  str2):
    """
    :param str1: 参与比较的字符串
    :param str2: 参与比较的字符串
    :return: 0 表示str1与str2相等,1表示大于, -1则表示小于
    """
    length_of_str1, length_of_str2 = len(str1), len(str2)
    shortest_length = length_of_str1 if length_of_str1 <= length_of_str2 else  length_of_str2
    ret = 0
    index = 0

    while index < shortest_length:
        if str1[index] > str2[index]:
            return 1
        if str1[index] < str2[index]:
            return -1
        index += 1
    else:
        if length_of_str1 > length_of_str2:
            ret = 1
        elif length_of_str1 < length_of_str2:
            ret = -1
    return ret

关注微信公众号:薯条编程,公众号后台回复"Python资料",免费领取Python电子书,以及学习Python视频课程。

小班授课,薯条老师一对一教学,火热报名中,点击了解线下就业培训。


欢迎 发表评论: