1. 题目

在一棵无限的二叉树上,每个节点都有两个子节点,树中的节点 逐行 依次按 “之” 字形进行标记。

如下图所示,在奇数行(即,第一行、第三行、第五行……)中,按从左到右的顺序进行标记;

而偶数行(即,第二行、第四行、第六行……)中,按从右到左的顺序进行标记。

给你树上某一个节点的标号 label,请你返回从根节点到该标号为 label 节点的路径,该路径是由途经的节点标号所组成的。

示例 1:
输入:label = 14
输出:[1,3,4,14]示例 2:
输入:label = 26
输出:[1,2,6,10,26]提示:
1 <= label <= 10^6

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/path-in-zigzag-labelled-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 找规律

  • 每行数的范围是已知的 [2n,2n+1−1][2^n,2^{n+1}-1][2n,2n+1−1], 且是等差数列(对称位置之和都相等)
  • num上一个的数是num/2的对称位置的数
class Solution {public:vector<int> pathInZigZagTree(int label) {vector<int> ans;int n = 0;while(pow(2,n) <= label)n++;while(n--){ans.push_back(label);label = 3*pow(2,n-1)-1 - (label>>1);//左右边界和-label/2}reverse(ans.begin(),ans.end());return ans;}
};

LeetCode 1104. 二叉树寻路(数学位运算)相关推荐

  1. LeetCode——1104. 二叉树寻路(Path In Zigzag Labelled Binary Tree)[中等]——分析及代码(Java)

    LeetCode--1104. 二叉树寻路[Path In Zigzag Labelled Binary Tree][中等]--分析及代码[Java] 一.题目 二.分析及代码 1. 按位置求解 (1 ...

  2. 程序员面试金典 - 面试题 17.04. 消失的数字(数学/位运算)

    1. 题目 数组 nums 包含从0到n的所有整数,但其中缺了一个. 请编写代码找出那个缺失的整数.你有办法在O(n)时间内完成吗? 注意:本题相对书上原题稍作改动 示例 1: 输入:[3,0,1] ...

  3. 程序员面试金典 - 面试题 17.19. 消失的两个数字(数学/位运算)

    1. 题目 给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字. 你能在 O(N) 时间内只用 O(1) 的空间找到它们吗? 以任意顺序返回这两个数字均可. 示例 1: 输入: [1] ...

  4. LeetCode 289. 生命游戏(位运算)

    文章目录 1. 题目 2. 解题 2.1 复制数组解法 2.2 原地解法 2.3 位运算 1. 题目 链接:289. 生命游戏 2. 解题 2.1 复制数组解法 很简单,按照题意模拟即可 class ...

  5. LeetCode 389. 找不同(位运算)

    1. 题目 给定两个字符串 s 和 t,它们只包含小写字母. 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. 请找出在 t 中被添加的字母. 2. 解题 2.1 土办法,哈希map ...

  6. leetcode 1386. 安排电影院座位 位运算

    题目链接:https://leetcode-cn.com/problems/cinema-seat-allocation/ 在一个电影院里,有n行座位,每行10个,被过道分隔为左边三个中间四个右边三个 ...

  7. leetcode 477. 汉明距离总和(位运算)

    theme: healer-readable 题目 两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量. 计算一个数组中,任意两个数之间汉明距离的总和. 示例: 输入: 4, 14, 2 ...

  8. leetcode 190. 颠倒二进制位(位运算)

    颠倒给定的 32 位无符号整数的二进制位. 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型.在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有 ...

  9. leetcode 1178. 猜字谜(位运算)

    外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧. 字谜的迷面 puzzle 按字符串形式给出,如果一个单词 word 符合下面两个条件,那么它就可以算作谜底: 单词 word 中包含 ...

最新文章

  1. Java NIO 之 ByteBuffer()
  2. mysql百万数据写入_mysql 百万级数据查找,并写入txt文件
  3. 微信小程序签名(横屏+竖屏)
  4. Java Web专题(一)
  5. 手机突然变卡,不得不重置
  6. 【2019杭电多校第二场1005 = HDU6595】Everything Is Generated In Equal Probability(期望-递推)
  7. 解决局域网访问共享工具
  8. Linux系统下下载Tomcat详细步骤。
  9. 百度地图API获取经纬度实战
  10. 一套图 搞懂“时间复杂度”
  11. Mysql中的lpad,rpad函数
  12. html和css最全的知识点归纳总结,html和css的面试知识点总结(附示例)
  13. 使用c++模拟红白机——概论篇(一)
  14. leakcanary内存泄露检测工具 Dumping memory, app will freeze. Brrr
  15. bluekitchen-stm32f1/csr8311移植笔记(4)-database driver
  16. Nginx代理——正向、反向代理,动静分离和负载均衡
  17. python 更新程序_python业务更新程序
  18. 电脑各种中英文信息对照及错误信息总汇 【维修电脑 最佳收藏资料】
  19. Android BLE开发 百度地图 大神博客简书传送门合集
  20. 神经网络与深度学习的“前世今生”

热门文章

  1. 如何解决类模板的分离编译问题?
  2. 学会拒绝别人的6个技巧_多少人败在不懂拒绝上!牢记10个高情商拒绝技巧,人生越来越顺...
  3. 11月16日 个人战立会议内容报告
  4. 自动部署war包脚本
  5. Python中 sys.argv[]的用法
  6. java console 到文件
  7. 2.Cannot find config.m4.
  8. Maven配置项目依赖使用本地仓库的方法汇总
  9. 解析统计文本文件中的字符数、单词数、行数。
  10. FineUI(专业版)v3.0.0 发布,手机、平板和桌面全支持!