摘要: 1.构造函数 string s1; //s1="" string s2("Hello"); //s2 = "Hello" string s3(4, 'K'); //s3 = "KKKK" string s4("12345",1,3) //s4 = "234", 即从"12345"下标1开始, 长度为 阅读全文
posted @ 2020-03-16 14:11 jenningszheng 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。 示例1: 输入:"aabcccccaaa" 输出:"a2b1c5 阅读全文
posted @ 2020-03-16 13:51 jenningszheng 阅读(1364) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 递归法: /** * Definiti 阅读全文
posted @ 2020-03-14 01:36 jenningszheng 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *lef 阅读全文
posted @ 2020-03-14 00:08 jenningszheng 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 递归: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode * 阅读全文
posted @ 2020-03-13 17:55 jenningszheng 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 迭代法: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode 阅读全文
posted @ 2020-03-13 17:18 jenningszheng 阅读(1010) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 输入: 1->2->3->4->5->NULL, k = 2 输出: 4->5->1->2->3->NULL 解释: 向右旋转 1 步: 5->1->2->3->4->NULL 向右旋转 2 步: 4->5->1->2 阅读全文
posted @ 2020-03-13 00:08 jenningszheng 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的 深拷贝。 我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示: val:一个表示 Node.val 的整数。 rand 阅读全文
posted @ 2020-03-12 23:35 jenningszheng 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 您将获得一个双向链表,除了下一个和前一个指针之外,它还有一个子指针,可能指向单独的双向链表。这些子列表可能有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。 扁平化列表,使所有结点出现在单级双链表中。您将获得列表第一级的头部。 输入: 1 2 3 4 5 6--NULL | 7 阅读全文
posted @ 2020-03-12 20:33 jenningszheng 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头 示例: 输入:(2 -> 4 -> 3 阅读全文
posted @ 2020-03-12 05:48 jenningszheng 阅读(212) 评论(0) 推荐(0) 编辑