给定数n,生成所有的n个括号的情况。
比如n=2:(()),()()
这个题,回溯搜索所有情况即可:
class Solution {
public:
vector<string> ans;
void genStep(string &item,int n,int countLeft,int countRight)
{
if(countLeft == n && countRight == n)
{
ans.pu……
这个题,我很无奈,不能special judge。好吧开始写了一个代码 WA,人说 sorry 不能sp,于是按照样例改了改。
思想就是
0
1
在序列中的每个数前面[样例]或者后面加上(0,1),(1,0),(0,1),(1,0),(0,1),(1,0)……即可[每个数,生成两个新的数],这样保证了只改变一个位数,因为上一轮的数是按照跪着的。……
这个题其实就是个模拟题,两两交换listnode的节点,基于node而非val。蛮简单的,但是我自己确实憋了好久,一次AC,但是感觉自己的代码写出来永远不美,复用性不高。逻辑不行。还得加油。
附上代码:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* Lis……
注意什么都不输入的越界问题。
每次二分,因为排好序,以中点为根即可。
子树同理。
附上代码:
class Solution {
public:
TreeNode *sortedArrayToBST(vector<int> &num) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance wil……
判断一棵树是否是平衡的二叉查找树。
一次AC附上代码:[原以为自己会超时的]
class Solution {
public:
bool ans;
bool isBalanced(TreeNode *root) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
……
red white blue 三种颜色
分别用0 1 2代表
输入一个0 1 2 的数组,请排序。
但是不允许用封装好的库。
具体的方法是遍历该数组对012进行计数,然后对原数组覆盖即可。
附上代码:
class Solution {
public:
void sortColors(int A[], int n) {
// IMPORTANT: Please reset any member data you declared, as……
给定一个二叉树,跟定一个数字sum,从根开始到各叶节点的路径依次求和,请问是否有叶节点的值满足和sum相等。
这个题,其实BFS然后依次枚举就行,但是注意边界,首先是叶节点,然后考虑root无子节点和root为空的情况。
附上代码:
class Solution {
public:
bool hasPathSum(TreeNode <em>root, int sum) {
……
二叉树从下至上的输出层
附上代码:
class Solution {
public:
vector<vector<int> > levelOrderBottom(TreeNode *root) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
v……
二叉树的后序遍历,更加注重代码质量。一次AC,无测试。
附上代码:
class Solution {
public:
vector postorderTraversal(TreeNode *root) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
vector resul……
左根右,中序遍历
附上代码:
class Solution {
public:
vector<int> result;
vector<int> inorderTraversal(TreeNode *root) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
result.c……