day49(12.30)——leetcode面试经典150

114. 二叉树展开为链表

114. 二叉树展开为链表

题目:

题解:

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public void flatten(TreeNode root) {
        while(root != null) {
            //左子树为null,直接考虑下一节点
            if(root.left == null) {
                root = root.right;
            }
            else {
                //找到左子树最右边的结点
                TreeNode pre = root.left;
                while(pre.right != null) {
                    pre = pre.right;
                }
                //将原来的右子树接到左子树的最右边结点
                pre.right = root.right;
                root.right = root.left;
                root.left = null;
                root = root.right;
            }
        }
    }
}
相关推荐
Adios7944 小时前
设置交集大小至少为2
数据结构·算法·leetcode
触底反弹7 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen7 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
wdfk_prog7 小时前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
LayZhangStrive10 小时前
JUC相关的函数、注解、变量杂记
java·面试·多线程·juc
来一碗刘肉面10 小时前
栈的应用(表达式求值)
数据结构·算法
程序员清风10 小时前
OpenAI官方发布最新提示词技巧!
java·后端·面试
GitLqr11 小时前
别再盲目复制了:彻底搞懂 CORS 的本质与那些“神坑”
安全·http·面试
xiaowang1234shs11 小时前
怪兽轻断食技术深度测评:从断食计时引擎到AI识别算法的工程实践解析
数据库·人工智能·算法·macos·机器学习·p2p·visual studio