美文网首页
2022-02-28-03-01 二叉树最底层最左边的值+Z 字

2022-02-28-03-01 二叉树最底层最左边的值+Z 字

作者: 16孙一凡通工 | 来源:发表于2022-03-01 09:44 被阅读0次

剑指 Offer II 045. 二叉树最底层最左边的值

Go的可变数组的slice用的有bug,换java写队列

java版本:

class Solution {
    public int findBottomLeftValue(TreeNode root) {

    // ArrayDeque<TreeNode> queue=new ArrayDeque<>();
     Queue<TreeNode> queue=new LinkedList<>();
    queue.offer(root);
    int visited=root.val;
    int count=0;
    int m;

    while(queue.peek()!=null){
        count=0;
        m=queue.size();
        // 标志


        if(m==1){
            visited=queue.peek().val;
        }

       
        
        for(int i=0;i<m;i++){
           TreeNode node=queue.peek();
            
             queue.poll();
        //    System.out.print("node:"+node.val);
          if (node.left!=null){
              
              queue.offer(node.left);
          }
           if (node.left!=null && count==0) {
               visited=node.left.val;
               count++;
           }
          if(node.right!=null){
              queue.offer(node.right);
          }
        }
         System.out.println();

    }

    return visited;


    }
}

6. Z 字形变换

Go版本:

func convert(s string, numRows int) string {


    arr:=[]string{};
    for i:=0;i<numRows;i++{
        arr=append(arr,"")
    }

    p,n:=0,len(s);
    for p<n{
       for i:=0;i<numRows && p<n ;i++{
         
           arr[i]+=string(s[p])
             p++;
       }
        for i:=numRows-2;i>=1 && p<n ;i--{
           arr[i]+=string(s[p])
           p++; 
       }
    }
    res:=""

    for i:=0;i<numRows;i++{
   res+=arr[i]
    }
    return res;

}

相关文章

  • 2022-02-28-03-01 二叉树最底层最左边的值+Z 字

    剑指 Offer II 045. 二叉树最底层最左边的值[https://leetcode-cn.com/prob...

  • LeetCode 513. 找树左下角的值

    题目 给定一个二叉树的 根节点 root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。 例:...

  • 二、二叉树的基本概念

    满二叉树就是除了最底层的节点以外,其他节点都有两个孩子。 完全二叉树 完全二叉树包含满二叉树,就是从右边往左边依次...

  • 剑指 Offer II 045. 二叉树最底层最左边的值

    层级遍历啊= =。。 用数组记录每一层的节点 那么。。 最后一层的第一个就是需要的左节点

  • HDU 2084 数塔DP

    解题思路:从最顶层或者最底层出发,推到最底层或者最顶层,然后找出其中那条路线的值最大 我才用的是从下往上,代码如下

  • 【Algorithm】二叉树

    二叉树 抽出一部分 显然,由 值 、 左边节点 和 右边节点组成。 这样,我们就算把二叉树构建出来。 遍历 先序遍...

  • 513. 找树左下角的值

    find-bottom-left-tree-value 给定一个二叉树,在树的最后一行找到最左边的值。 阅读 不懂...

  • 513. Find Bottom Left Tree Value

    题目:查找二叉树的最底部的最左的节点的值

  • LeetCode 965. 单值二叉树

    965. 单值二叉树 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,...

  • 2019-03-07 Day 60

    1.#### 单值二叉树如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时...

网友评论

      本文标题:2022-02-28-03-01 二叉树最底层最左边的值+Z 字

      本文链接:https://www.haomeiwen.com/subject/ojqlrrtx.html