leetcode简单题目两道(4)
心情还是有问题,保持每日更新,只能如此了。
Problem
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
Example:
Given binary tree {,,,#,#,,},
····
   / \
    /  \
Result
return its level order traversal as:
[
  [],
  [,],
  [,]
]
Code
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int HeightOfTree(TreeNode* root) {
        int result = ;
        if (root == NULL) {
            return result;
        }
        int left = HeightOfTree(root->left) + ;
        int right = HeightOfTree(root->right) + ;
        result = left > right ? left : right;
        return result;
    }
    void calLevelOrder(TreeNode* root, int level, vector<vector<int> >& result) {
        if (root == NULL) {
            return;
        }
        result[level].push_back(root->val);
        calLevelOrder(root->left, level + , result);
        calLevelOrder(root->right, level + , result);
    }
    vector<vector<int> > levelOrder(TreeNode* root) {
        vector<vector<int> > result;
        vector<int> v;
        if (root == NULL) {
            return result;
        }
        int height = HeightOfTree(root);
        for (int i = ; i < height; i++) {
            result.push_back(v);
        }
        calLevelOrder(root, , result);
        return result;
    }
};
Problem1
Write a function that takes a string as input and returns the string reversed.
Example:
Given s = "hello", return "olleh".
Code
class Solution {
public:
    string reverseString(string s) {
        if (s.size() <= ) {
            return s;
        }
        int i = , j = s.size() - ;
        char ch;
        while (i < j) {
            ch = s[i];
            s[i] = s[j];
            s[j] = ch;
            i++;
            j--;
        }
        return s;
    }
};
Problem2
Write a function that takes a string as input and reverse only the vowels of a string.
Example :
Given s = "hello", return "holle".
Example :
Given s = "leetcode", return "leotcede".
Code
class Solution {
public:
    string reverseVowels(string s) {
        if (s.size() <= ) {
            return s;
        }
        int i = , j = s.size() - ;
        char ch;
        while (i < j) {
            while(i < j && s[i] != &#;a&#; && s[i] != &#;e&#; && s[i] != &#;i&#; && s[i] != &#;o&#; && s[i] != &#;u&#;
            && s[i] != &#;A&#; && s[i] != &#;E&#; && s[i] != &#;I&#; && s[i] != &#;O&#; && s[i] != &#;U&#;) {
                i++;
            }
            while(i < j && s[j] != &#;a&#; && s[j] != &#;e&#; && s[j] != &#;i&#; && s[j] != &#;o&#; && s[j] != &#;u&#;
            && s[j] != &#;A&#; && s[j] != &#;E&#; && s[j] != &#;I&#; && s[j] != &#;O&#; && s[j] != &#;U&#;) {
                j--;
            }
            ch = s[i];
            s[i] = s[j];
            s[j] = ch;
            i++;
            j--;
        }
        return s;
    }
};
说明
与上面同样的逻辑,只是出现特定的字符才交换位置
PS:存货快用完了。。。。
leetcode简单题目两道(4)的更多相关文章
- leetcode简单题目两道(2)
		Problem Given an integer, write a function to determine if it is a power of three. Follow up: Could ... 
- leetcode简单题目两道(3)
		本来打算写redis的,时间上有点没顾过来,只能是又拿出点自己的存货了. Problem Given an array nums, write a function to move all 's to ... 
- leetcode简单题目两道(5)
		Problem Given an integer (signed bits), write a function to check whether it . Example: Given num = ... 
- leetcode简单题目两道(1)
		Problem: You are playing the following Nim Game with your friend: There is a heap of stones on the t ... 
- CTF中关于XXE(XML外部实体注入)题目两道
		题目:UNCTF-Do you like xml? 链接:http://112.74.37.15:8008/ hint:weak password (弱密码) 1.观察后下载图片拖进WINHEX发现提 ... 
- 两道面试题,带你解析Java类加载机制
		文章首发于[博客园-陈树义],点击跳转到原文<两道面试题,带你解析Java类加载机制> 在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Gr ... 
- 【转】两道面试题,带你解析Java类加载机制(类初始化方法 和 对象初始化方法)
		本文转自 https://www.cnblogs.com/chanshuyi/p/the_java_class_load_mechamism.html 关键语句 我们只知道有一个构造方法,但实际上Ja ... 
- 『ACM C++』Virtual Judge | 两道基础题 - The Architect Omar && Malek and Summer Semester
		这几天一直在宿舍跑PY模型,学校的ACM寒假集训我也没去成,来学校的时候已经18号了,突然加进去也就上一天然后排位赛了,没学什么就去打怕是要被虐成渣,今天开学前一天,看到最后有一场大的排位赛,就上去试 ... 
- 你所不知道的库存超限做法  服务器一般达到多少qps比较好[转]  JAVA格物致知基础篇:你所不知道的返回码  深入了解EntityFramework Core 2.1延迟加载(Lazy Loading)   EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public?  藏在正则表达式里的陷阱  两道面试题,带你解析Java类加载机制
		你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ... 
随机推荐
- c# 前后日期设置
			List<string> list = new List<string>(); //根据当月 显示前6个月 for(int i=0;i<6;i++) { list.add ... 
- C#多边形求角——实例说
			前段时间有写过一个计算多边形角度的代码,这里给它整理整理,留给自己也送给萌新. 看左下图,这是一个多环的多边形,一个外环(内部为多边形内部区域),一个内环(外部为多边形内部区域),同时多边形中任意一个 ... 
- django drf JWT
			建议使用djangorestframework-jwt或者djangorestframework_simplejwt,文档为 https://github.com/GetBlimp/django-re ... 
- SQL server 添加主外键约束
			---添加主键约束 alter table 表名 add constraint 约束名 primary key (主键) - --添加唯一约束 alter table 表名 ... 
- VMware 中时间同步设置
			在VMware Workstation 9中安装了一个Ubuntu Server,跑了一段时间之后常发现虚拟机中系统(客户系统)时间要比物理机(宿主系统)中的系统时间慢很多. 几经折腾(部署在VMwa ... 
- git删除未监视的文件
			新增的文件使用git status查看会提示Untracked files,如果想要删除Untracked files,可以使用如下命令: git clean -f # 删除Untracked fil ... 
- CCF CSP 201803-1 跳一跳
			题目链接:http://118.190.20.162/view.page?gpid=T73 问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱. 简化后的跳一跳规则如下:玩家每次从当前方块跳 ... 
- python学习笔记-练手实例
			1.题目:输出 9*9 乘法口诀表. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列 代码: for i in range(1,10): print ('\r') for j ... 
- android learning
			https://www.cnblogs.com/kangjianwei101/p/5621238.html https://blog.csdn.net/write6/article/details/7 ... 
- Bootstrap中表单控件状态(验证状态)
			Bootstrap 表单 http://www.runoob.com/try/try2.php?filename=bootstrap3-form-controlstate (这链接里有简介) &l ... 
