2019/07/27 点击:6497
1->2->3->4 转换成 2->1->4->3 . class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: # @param a ListNode # @return a ListNode def swapPairs(self, head): if head != None and head.next != None: next = head.nex
2019/07/27 点击:6381
1 直接创建 dict = {'name':'earth', 'port':'80'} 2 工厂方法 items=[('name','earth'),('port','80')]dict2=dict(items)dict1=dict((['name','earth'],['port','80'])) fromkeys()方法 dict1={}.fromkeys(('x','y'),-1)dict={'x':-1,'y':-1}dict2
2019/07/27 点击:4911
知乎远程面试要求编程 > 尾递归 def _recursion_merge_sort2(l1, l2, tmp): if len(l1) == 0 or len(l2) == 0: tmp.extend(l1) tmp.extend(l2) return tmp else: if l1[0] > 循环算法 思路: 定义一个新的空列表 比较两个列表
2019/07/27 点击:4527
其实思想可以按照从尾开始比较两个链表,如果相交,则从尾开始必然一致,只要从尾开始比较,直至不一致的地方即为交叉点,如图所示 # 使用a,b两个list来模拟链表,可以看出交叉点
2019/07/27 点击:7109
#coding:utf-8def binary_search(list, item): low = 0 high = len(list) - 1 while low item: high = mid - 1 elif guess 参考: http://blog.csdn.net/u013205877/article/details/76411718
2019/07/27 点击:1105
#coding:utf-8def quicksort(list): if len(list) midpivot] finallylist = quicksort(lessbeforemidpivot)+[midpivot]+quicksort(biggerafterpivot) return finallylistprint quicksort([2,4,6,7,1,2,5]) 更多排序问题可见:[数据结构与算法
2019/07/27 点击:3531
#coding:utf-8#values是硬币的面值values = [ 25, 21, 10, 5, 1]#valuesCounts 钱币对应的种类数#money 找出来的总钱数#coinsUsed 对应于目前钱币总数i所使用的硬币数目def coinChange(values,valuesCounts,money,coin
2019/07/27 点击:6704
给定一个数组,构建二叉树,并且按层次打印这个二叉树
2019/07/27 点击:1960
class Node(object): def __init__(self, data, left=None, right=None): self.data = data self.left = left self.right = righttree = Node(1, Node(3, Node(7, Node(0)), Node(6)), Node(2, Node(5), Node(4)))
2019/07/27 点击:2259
def deep(root): if not root: return print root.data deep(root.left) deep(root.right)if __name__ == '__main__': lookup(tree) deep(tree)