劍指Offer編程題(Python代碼實現)

一、引言

本人通過對劍指Offer的學習,發現其中的代碼均爲C++實現,對部分🏦不太友好,於是乎本人將所有題目的Python版本代碼共享出來。注:該部分以牛客上的順序爲例,並且均通過牛客上的測試

二、編程題

1、 二維數組中的查找

  • 題目描述:在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
  • 考查知識點:查找、數組
  • 代碼:
    class Solution:
        # array 二維列表
        def Find(self, target, array):
            # write code here
            rows = len(array)-1
            cols = len(array[0])-1
            i = rows
            j = 0
            if len(array)==0 or len(array[0])==0:
                return False
            else:
                while j<=rows and i>=0:
                    if target<array[i][j]:
                        i-=1
                    elif target>array[i][j]:
                        j+=1
                    else:
                        return True
                return False
    

2、 替換空格

  • 題目描述:請實現一個函數,將一個字符串中的每個空格替換成“%20”。例如,當字符串爲We Are Happy.則經過替換之後的字符串爲We%20Are%20Happy。
  • 考查知識點:字符串
  • 代碼:
    class Solution:
        # s 源字符串
        def replaceSpace(self, s):
            # write code here
            result = ''
            for i in s:
                if i==' ':
                    result+='%20'
                else:
                    result+=i
            return result
    

3、 從尾到頭打印鏈表

  • 題目描述:輸入一個鏈表,按鏈表從尾到頭的順序返回一個ArrayList。
  • 考查知識點:鏈表
  • 代碼:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章