C/C++教程

LeetCode刷题笔记第171题: Excel 表列序号

本文主要是介绍LeetCode刷题笔记第171题: Excel 表列序号,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

LeetCode刷题笔记第171题: Excel 表列序号

想法:
给你一个字符串 columnTitle,表示 Excel 表格中的列名称。返回 该列名称对应的列序号。此题单个字符的对应值与ASCII码差64,并且字符没Z进一位,因此为26进制。从给定字符串的尾部遍历至头部,相当于数字的个位数到最高位数,获得每个位置上的字符得到其数值并乘以进制求和即为所求。
时间复杂度O(n)
空间复杂度O(1)

class Solution:
    def titleToNumber(self, columnTitle: str) -> int:
        sum = 0
        for i in range(len(columnTitle)):
            sum += (ord(columnTitle[-(i+1)]) - 64) * (26 ** i)  # 倒叙获得字符串中的字符并计算当前字符的值求和

        return sum
这篇关于LeetCode刷题笔记第171题: Excel 表列序号的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!