摘要: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 双指针:定义两个指针,pre指向空,cur指向头节点,然后不断遍历cur,将 cur 的 next 指向 pre,然后 pre 和 阅读全文
posted @ 2020-08-28 09:47 ninian 阅读(65) 评论(0) 推荐(0)
摘要: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 反转:从头到尾将链表打印到数组中,返回反转后的结果即可。 class Solution: def reversePrint(self, head): res = [] while head: res.append(head.val 阅读全文
posted @ 2020-08-28 09:00 ninian 阅读(97) 评论(0) 推荐(0)
摘要: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 输入:s = "We are happy." 输出:"We%20are%20happy class solution(object): def replacespace(self,s): """ :type s: str :rtype: 阅读全文
posted @ 2020-08-28 08:43 ninian 阅读(61) 评论(0) 推荐(0)
摘要: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 递归法:根据二叉树镜像的定义,考虑递归遍历二叉树,交换每个节点的左 / 右子节点,即可生成二叉树的镜像。终止条件:节点 root 为空时(即越过叶节点),则 阅读全文
posted @ 2020-08-27 17:19 ninian 阅读(109) 评论(0) 推荐(0)
摘要: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。 思路:设置快慢指针,快指针先走K步,然后快慢指针一起向前走,每次 阅读全文
posted @ 2020-08-27 16:26 ninian 阅读(51) 评论(0) 推荐(0)
摘要: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入数组:{1,3,3,2,3,2,3,3,2}。由于2在数组中出现了5次,超过数组长度的一半,因此要输出2。 思路:哈希表统计。遍历整个数组,如果当前数字在字典中不存在,就把他放入字典中;如果在字典中存在,就把他数量加1,并判断他 阅读全文
posted @ 2020-08-19 09:13 ninian 阅读(119) 评论(0) 推荐(0)