美文网首页
2018-08-13

2018-08-13

作者: 千千鱼 | 来源:发表于2018-08-14 00:13 被阅读0次

    1. 二维数组的查找

    class Solution:
        # array 二维列表
        def Find(self, target, array):
            # write code here
            m = len(array)
            n = len(array[0])
            j = n-1
            i = 0
            while(i<m and j>=0):
                if(array[i][j] == target):
                    return True
                elif(array[i][j] >target):
                    j=j-1
                else:
                    i=i+1
            return False
            
    if __name__=='__main__':
        target = 7
        array =  [[1,3,4],[2,5,8],[3,7,9]]       
        solution = Solution()
        ans = solution.Find(target,array)
        print(ans)
    

    总结: array类型没有array.size(),要用len取长度

    # -*- coding:utf-8 -*-
    class Solution:
        # s 源字符串
        def replaceSpace(self, s):
            # write code here
           ans = '%20'.join(s.split(' '))
           return ans
    

    总结: s.split()本身会形成一个列表,不需要额外加[]

    1. 链表值逆序生成列表
    # -*- coding:utf-8 -*-
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        # 返回从尾部到头部的列表值序列,例如[1,2,3]
        def printListFromTailToHead(self, listNode):
            # write code here
            list = []
            while(listNode):
                list.append(listNode.val)
                listNode = listNode.next
            return list[::-1]
    

    总结: 先是没有注意看上面注释掉的代码,其中有链表节点的定义。 然后还有就是判断当前节点是否为空,直接while(listNode)就可以了,没有==null这种判断

    1. 重建2叉树

    ![][D1A9.png]
    (https://img.haomeiwen.com/i1852453/f7f9055a10a8f413.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    此题难度有点大,但还是有思路的,实现起来遇到些问题,递归用self.func,而且前序遍历和中序遍历有点混了。

    相关文章

      网友评论

          本文标题:2018-08-13

          本文链接:https://www.haomeiwen.com/subject/fgipbftx.html