JavaScript经典面试题的专业回答(二),2024最新Web前端笔试题目

本文介绍了如何将给定的正整数转换为Excel列名称(第168题),以及如何用深度优先遍历(包括先序和中序)处理二叉树数据(第3题)。此外,还提及了ReactFiber在现代diff算法中的角色以及ES6新特性的应用,如微信小程序的相关知识点和优化技巧。
摘要由CSDN通过智能技术生成

题2: leetcode 168. Excel表列名称


给定一个正整数,返回它在 Excel 表中相对应的列名称。

1 => A;

2 => B;

3 => C

26 => Z;

27 => AA;

28 => AB;

29 => AC

52 => AZ;

53 => BA;

54 => BB

// 实现下方函数

function convert(num) {     // TODO }

// 测试代码:

const output1 = convert(1);

console.log(output1); // A

const output2 = convert(26);

console.log(output2); // Z

const output3 = convert(53);

console.log(output3); // BA

// 理解 其实,这道题很明显是一道10进制转26进制的题目。 主要需要考虑到2个因素

// 1. 1-26 分别对应 A-Z,没有0;

// 2. 超过26进A。(和原来的满10进1是一个道理)

function convert (columnNumber) {

const arr = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’,‘M’, ‘N’,‘O’,‘P’,‘Q’,‘R’,‘S’,‘T’,‘U’,‘V’,‘W’,‘X’,‘Y’,‘Z’];

// 小于等于26,直接返回

let n = columnNumber;

if (n <= 26) return arr[n - 1];

let res = ‘’;

while (n > 0) {

// n先减1. 因为数组arr 下标是从0开始。 而题目是从1开始

n–;

// 从后往前拼接

res = arr[n % 26] + res;

n = Math.floor(n / 26); // 取整。

}

return res;

};

};

题3:二叉树遍历


深度优先遍历

先给定一个二叉树数据

const tree = {

value: “-”,

left: {

value: ‘+’,

left: {

value: ‘a’,

},

right: {

value: ‘*’,

left: {

value: ‘b’,

},

right: {

value: ‘c’,

}

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值