美文网首页数据结构和算法
【剑指offer-双指针】

【剑指offer-双指针】

作者: 张张大白 | 来源:发表于2020-05-13 16:42 被阅读0次

导读

目录:

面试题04. 二维数组中的查找-简单
面试题22. 链表中倒数第k个节点-简单

面试题04. 二维数组中的查找-简单

image.png
TO do:找规律求解+二分搜索+递归
#一、暴力求解,两个指针遍历所有
class Solution(object):
    def findNumberIn2DArray(self, matrix, target):
        """
        :type matrix: List[List[int]]
        :type target: int
        :rtype: bool
        """
        j=len(matrix)
        if j ==0:
            return False
        i=len(matrix[0])
        
        for m in range(j):
            for n in range(i):
                if target == matrix[m][n]:
                    return True
                
        return False

面试题22. 链表中倒数第k个节点-简单

链表有节点和list
暴力求解和双指针(前后指针解法)

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def getKthFromEnd(self, head, k):
        """
        :type head: ListNode
        :type k: int
        :rtype: ListNode
        """
        right,left=head,head
        for i in range(k):
            right=right.next
        while right:#先走的节点刚好走出的时候,后面的节点指在倒数第k个点
            right=right.next
            left=left.next
        return left#返回的是后面的链表,节点就携带了链表的数据


相关文章

网友评论

    本文标题:【剑指offer-双指针】

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